add optional subset column to optables.csv ls012
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 20 Apr 2023 14:41:47 +0000 (15:41 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 20 Apr 2023 14:41:47 +0000 (15:41 +0100)
openpower/sv/rfc/ls012/optable.csv

index 885e4cbc22a41f782011e58cb8ba49f58614f464..b102532a6d3f6d14c2c413d81504b8e7a351f653 100644 (file)
@@ -104,48 +104,48 @@ minmax,      ls013, high, 10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, TBD
 absaccs,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, TBD
 absaccu,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, TBD
 # BMI group
-bmask,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops, 2R1W1w, TBD
-cprop,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops, 2R1W1w, TBD
+bmask,       TBD,   high, 5,  yes, EXT0xx, yes, sv/vector_ops, 2R1W1w, SFFS
+cprop,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops, 2R1W1w, opt
 # SVP64 Management.
-setvl,       ls008, high, 5,  no,  EXT0xx, yes, sv/setvl, 3R2W1w, TBD
-svstep,      ls008, high, 5,  no,  EXT0xx, yes, sv/svstep, 1R2W1w, TBD
-svremap,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 1R1W, TBD
-svshape,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, TBD
-svshape2,    ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, TBD
-svindex,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, TBD
+setvl,       ls008, high, 5,  no,  EXT0xx, yes, sv/setvl, 3R2W1w, SV/E
+svstep,      ls008, high, 5,  no,  EXT0xx, yes, sv/svstep, 1R2W1w, SV/E
+svremap,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 1R1W, SV/D
+svshape,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, SV/D
+svshape2,    ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, SV/D
+svindex,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, SV/D
 # GPU swizzle
-mv.swizzle,  TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W, TBD
-fmv.swizzle, TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W, TBD
+mv.swizzle,  TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W, opt
+fmv.swizzle, TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W, opt
 # CR weirds
-crrweird,    TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication, 1r1W1w, TBD
-mfcrweird,   TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication, 1r1W1w, TBD
-mtcrrweird,  TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 1R1r1w, TBD
-mtcrweird,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 1R1r1w, TBD
-crweirder,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 2r1w, TBD
-mcrfm,       TBD,   high, 9,  yes, EXT0xx, no, sv/cr_int_predication, 2r1w, TBD
+crrweird,    TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication, 1r1W1w, SV/D
+mfcrweird,   TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication, 1r1W1w, SV/D
+mtcrrweird,  TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 1R1r1w, SV/D
+mtcrweird,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 1R1r1w, SV/D
+crweirder,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 2r1w, SV/D
+mcrfm,       TBD,   high, 9,  yes, EXT0xx, no, sv/cr_int_predication, 2r1w, SFFS
 # fclass (Scalar variant of xvtstdcsp)
-fptstp(s),   TBD,   high,  10, yes, EXT0xx, no, sv/fclass, 1R1w, TBD
+fptstp(s),   TBD,   high,  10, yes, EXT0xx, no, sv/fclass, 1R1w, SFFS
 # INT<->FP mv
-fmvfg(s),    ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD
-fcvtfg(s),   ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD
-fcvttg(s),   ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD
-fcvtstg(s),  ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD
+fmvfg(s),    ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS
+fcvtfg(s),   ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS
+fcvttg(s),   ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS
+fcvtstg(s),  ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS
 # Big-Integer Chained 3-in 2-out (64-bit Carry)
-dsld,        ls003, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, TBD
-dsrd,        ls003, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, TBD
-maddedu,     ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W, TBD
-maddedus,    ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W, TBD
-divmod2du,   ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, TBD
+dsld,        ls003, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS
+dsrd,        ls003, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS
+maddedu,     ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS
+maddedus,    ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS
+divmod2du,   ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS
 # FP DCT/FFT Butterfly (2/3-in 2-out)
-ffadd(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD
-ffsub(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD
-ffmul(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD
-ffdiv(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD
-fdmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD
-ffmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD
-ffmsub(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD
-ffnmadd(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD
-ffnmsub(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD
+ffadd(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt
+ffsub(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt
+ffmul(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt
+ffdiv(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt
+fdmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt
+ffmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt
+ffmsub(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt
+ffnmadd(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt
+ffnmsub(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt
 # Trigonometric (1-arg)
 fsin(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w, TBD
 fcos(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w, TBD
@@ -182,28 +182,28 @@ flog10p1(s), TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, TBD
 fexp10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, TBD
 flog10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, TBD
 # Transcendentals (2-arg)
-fatan2(s),       TBD,   med,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD
-fatan2pi(s),     TBD,   med,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD
-fpow(s),         TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD
-fpown(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD
-fpowr(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD
-frootn(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD
-fhypot(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminnum08(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxnum08(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmin19(s),       ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmax19(s),       ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminnum19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxnum19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminc(s),        ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxc(s),        ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminmagnum08(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxmagnum08(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminmag19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxmag19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminmagnum19(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxmagnum19(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fminmagc(s),     ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmaxmagc(s),     ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fmod(s),         TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
-fremainder(s),   TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, TBD
+fatan2(s),       TBD,   med,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt
+fatan2pi(s),     TBD,   med,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt
+fpow(s),         TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt
+fpown(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt
+fpowr(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt
+frootn(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt
+fhypot(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, opt
+fminnum08(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxnum08(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmin19(s),       ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmax19(s),       ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fminnum19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxnum19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fminc(s),        ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxc(s),        ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fminmagnum08(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxmagnum08(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fminmag19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxmag19(s),    ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fminmagnum19(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxmagnum19(s), ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fminmagc(s),     ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmaxmagc(s),     ls013, high, 10, yes, TBD,    no, transcendentals, 2R1W1w, SFFS
+fmod(s),         TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, opt
+fremainder(s),   TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, opt