this RFC effectively gives "advance notice" to the OPF ISA WG of upcoming additional RFCs, putting priorities on them and weeding out those that should be in EXT022. * TODO: new po9 encoding https://libre-soc.org/openpower/sv/po9_encoding/discussion/
https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=29c507b784b60a5e1c76fdc79c657121574bf551 sorting opcodes by XO-cost, priority, page, which is extremely valuable in deciding Opcode Allocation.
Spotted a typo. https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=5f97d3ff1df16450a6cc9ef8cb5b38db6f4c471d In the Bitmanip LUT2/3 section (page 3), the wording of "SFFS needs to be stand-alone on its own merits and not "punished" should an implementor choose not to implement any aspect of PackedSIMD VSX." "punished" may come out a little strong to certain parties. Now I may be finicky, but you know how vigilant in regards to wording we need to be. In the Tables section (page 4), "mutually exclusively" doesn't sound right to me. Initially I couldn't find the explanation for the "cost" column, but then realised the description calls it "XO Cost". I suggest the actual table column is also called "XO Cost" to reduce ambiguity. Another issue I found is that entries under PO1 column are "??" for LD/ST Post Increment, though that might be a problem with the pdf generation.
(In reply to Andrey Miroshnikov from comment #2) > Spotted a typo. > https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff; > h=5f97d3ff1df16450a6cc9ef8cb5b38db6f4c471d needs a line number... ah! you did it already, awesome. > In the Bitmanip LUT2/3 section (page 3), the wording of > "SFFS needs to be stand-alone on its own merits and not "punished" should an > implementor choose not to implement any aspect of PackedSIMD VSX." > > "punished" may come out a little strong to certain parties. Now I may be > finicky, but https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=29c507b784b60a5e1c76fdc79c657121574bf551 https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=29c507b784b60a5e1c76fdc79c657121574bf551you know how vigilant in regards to wording we need to be. mm. any suggestions? how about `xxeval`. The same reasoning applies as to fclass: SFFS needs to be stand-alone on its own merits and should an implementor choose not to implement any aspect of PackedSIMD VSX the performance of their product should not be penalised for making that decision. > > In the Tables section (page 4), "mutually exclusively" doesn't sound right > to me. it's a mathematical term, english language for the XOR operation. https://www.merriam-webster.com/dictionary/mutually%20exclusive > > Initially I couldn't find the explanation for the "cost" column, but then > realised the description calls it "XO Cost". I suggest the actual table > column is also called "XO Cost" to reduce ambiguity. can you add a dictionary lookup-column-heading-replacement function? i want to keep the csv file headings short to fit into below 80 chars use "lookupdict.get(heading, heading)" as it returns the word itself if there is no entry. neat trick. (edit: ls012_optables.py) > > Another issue I found is that entries under PO1 column are "??" for LD/ST > Post Increment, though that might be a problem with the pdf generation. no look at the row, they are "TODO".
(In reply to Luke Kenneth Casson Leighton from comment #3) > mm. any suggestions? > > how about > > `xxeval`. The same reasoning applies as to fclass: SFFS needs to be > stand-alone on its own merits and should an implementor > choose not to implement any aspect of PackedSIMD VSX the performance > of their product should not be penalised for making that decision. Sounds really good! > > > > > In the Tables section (page 4), "mutually exclusively" doesn't sound right > > to me. > > it's a mathematical term, english language for the XOR operation. > https://www.merriam-webster.com/dictionary/mutually%20exclusive I've heard of "mutually exclusive", but it's the second "-ly" ending that threw me off. Initially sounded wrong, but now re-reading I realise that "exclusively" would modify "incompatible". > > > > > Initially I couldn't find the explanation for the "cost" column, but then > > realised the description calls it "XO Cost". I suggest the actual table > > column is also called "XO Cost" to reduce ambiguity. > > can you add a dictionary lookup-column-heading-replacement function? > i want to keep the csv file headings short to fit into below 80 chars > use "lookupdict.get(heading, heading)" as it returns the word itself > if there is no entry. neat trick. > > (edit: ls012_optables.py) Yes, added a function to do that. Just need to call it at the right place (needs to happen after sorting, otherwise will get errors about 'cost' not being found). https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=8b670c6696e9eb0b2fae2a2e3ae643d6dda48956 > > > > > Another issue I found is that entries under PO1 column are "??" for LD/ST > > Post Increment, though that might be a problem with the pdf generation. > > no look at the row, they are "TODO". The csv file also uses "??" for TODO entries, so looks like my local pdf generation is working. https://git.libre-soc.org/?p=libreriscv.git;a=blob;f=openpower/sv/rfc/ls012/optable.csv;h=833dd9e9869d735a8b47c8e5fc7198a45777af63;hb=HEAD
(In reply to Luke Kenneth Casson Leighton from comment #3) > I've heard of "mutually exclusive", but it's the second "-ly" ending that > threw me off. Initially sounded wrong, but now re-reading I realise that > "exclusively" would modify "incompatible". hard to say (if spoken in your head) :) > Yes, added a function to do that. Just need to call it at the right place > (needs to happen after sorting, otherwise will get errors about 'cost' not > being found). + new_header = deepcopy(header) + for index, shortname in enumerate(replacement_col.keys()): + # update with replacement if any otherwise leave alone + new_header[index] = replacement_col.get(shortname, shortname) > The csv file also uses "??" for TODO entries, yes it does. i need to go through the list of fp ld/st-with-update instructions. if you want to add the entries as a first cut into optable.csv that would be really helpful, they're anything: * starting with "lf" or "stf" * having the letter "u" * being in major.csv or minor_31.csv https://git.libre-soc.org/?p=openpower-isa.git;a=tree;f=openpower/isatables;hb=HEAD openpower/isatables/major.csv:51,LDST,OP_LOAD,RA,CONST_SI,NONE,FRT,NONE,NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,lfdu,D, openpower/isatables/major.csv:49,LDST,OP_LOAD,RA,CONST_SI,NONE,FRT,NONE,NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,1,lfsu,D, openpower/isatables/minor_31.csv:0b1001110111,LDST,OP_LOAD,RA,RB,NONE,FRT,NONE,NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,0,lfdux,X,,, openpower/isatables/minor_31.csv:0b1000110111,LDST,OP_LOAD,RA,RB,NONE,FRT,NONE,NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,0,lfsux,X,,, openpower/isatables/major.csv:55,LDST,OP_STORE,RA,CONST_SI,FRS,NONE,NONE,NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,stfdu,D, openpower/isatables/major.csv:53,LDST,OP_STORE,RA,CONST_SI,FRS,NONE,NONE,NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,1,stfsu,D, openpower/isatables/minor_31.csv:0b1011110111,LDST,OP_STORE,RA,RB,FRS,NONE,NONE,NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,0,stfdux,X,,, openpower/isatables/minor_31.csv:0b1010110111,LDST,OP_STORE,RA,RB,FRS,NONE,NONE,NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,0,stfsux,X,,,
(In reply to Luke Kenneth Casson Leighton from comment #5) > > openpower/isatables/major.csv:51,LDST,OP_LOAD,RA,CONST_SI,NONE,FRT,NONE,NONE, > 0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,lfdu,D, > openpower/isatables/major.csv:49,LDST,OP_LOAD,RA,CONST_SI,NONE,FRT,NONE,NONE, > 0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,1,lfsu,D, > openpower/isatables/minor_31.csv:0b1001110111,LDST,OP_LOAD,RA,RB,NONE,FRT, > NONE,NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,0,lfdux,X,,, > openpower/isatables/minor_31.csv:0b1000110111,LDST,OP_LOAD,RA,RB,NONE,FRT, > NONE,NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,0,lfsux,X,,, > > openpower/isatables/major.csv:55,LDST,OP_STORE,RA,CONST_SI,FRS,NONE,NONE, > NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,stfdu,D, > openpower/isatables/major.csv:53,LDST,OP_STORE,RA,CONST_SI,FRS,NONE,NONE, > NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,1,stfsu,D, > openpower/isatables/minor_31.csv:0b1011110111,LDST,OP_STORE,RA,RB,FRS,NONE, > NONE,NONE,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,0,stfdux,X,,, > openpower/isatables/minor_31.csv:0b1010110111,LDST,OP_STORE,RA,RB,FRS,NONE, > NONE,NONE,0,0,ZERO,0,is4B,0,0,1,0,1,0,NONE,0,0,stfsux,X,,, done, i want to get this RFC in.
submitted v1 2023apr11. closed. questions and comments begins, new bugreport: bug #1054