add trigonometrics/transcendentals to ls012 opcodes.csv
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 7 Apr 2023 13:52:47 +0000 (14:52 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 7 Apr 2023 13:52:47 +0000 (14:52 +0100)
also add some headings

openpower/sv/rfc/ls012/optable.csv

index f256c05680dda04bf8ca6c0bdc63306014e6657a..7c44d6eb6117dfd5d3e602259bf289a56c6904b0 100644 (file)
 instruction, rfc, priority, bitcost, vectorisable, group, prefixable, page
+# Bitmanip LUT2/3 operations. high cost high reward
 grevlut,     TBD,   high, 3,  yes, TBD,    no,  sv/bitmanip
 grevluti,    TBD,   high, 3,  yes, TBD,    yes, sv/bitmanip
 ternlogi,    ls007, high, 2,  yes, TBD,    yes, sv/bitmanip
 crternlogi,  ls007, high, 5,  yes, TBD,    yes, sv/bitmanip
 binlut,      ls007, high, 6,  yes, TBD,    no,  sv/bitmanip
 crbinlut,    ls007, high, 5,  yes, TBD,    no,  sv/bitmanip
+# Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op)
 fmvis,       ls002, high, 5,  yes, TBD,    no,  sv/bitmanip
 fishmv,      ls002, high, 5,  yes, TBD,    no,  sv/bitmanip
+# Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish)
 shadd,       ls003, high, 7,  yes, TBD,    no,   sv/bitmanip
 shadduw,     ls003, high, 7,  yes, TBD,    no,   sv/bitmanip
+# Audio-Video
 absdu,       TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes
 avgadd,      TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes
 minmax,      TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes
 absaccs,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes
 absaccu,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes
+# BMI group
 bmask,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops
 cprop,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops
+# SVP64 Management.
 setvl,       ls008, high, 5,  no,  EXT0xx, yes, sv/setvl
 svstep,      ls008, high, 5,  no,  EXT0xx, yes, sv/svstep
 svremap,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap
 svshape,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap
 svshape2,    ls009, high, 5,  no,  EXT0xx, yes, sv/remap
 svindex,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap
+# GPU swizzle
 mv.swizzle,  TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle
 fmv.swizzle, TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle
+# CR weirds
 crrweird,    TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication
 mfcrweird,   TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication
 mtcrrweird,  TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication
 mtcrweird,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication
 crweirder,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication
 mcrfm,   ,   TBD,   high, 9,  yes, EXT0xx, no, sv/cr_int_predication
+# Trigonometric (1-arg)
+fsin(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals
+fcos(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals
+ftan(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals
+fasin(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals
+facos(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals
+fatan(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals
+fsinpi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals
+fcospi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals
+ftanpi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals
+fasinpi(s),  TBD,   high,  10, yes, EXT2xx, no, transcendentals
+facospi(s),  TBD,   high,  10, yes, EXT2xx, no, transcendentals
+fatanpi(s),  TBD,   high,  10, yes, EXT2xx, no, transcendentals
+fsinh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals
+fcosh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals
+ftanh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals
+fasinh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals
+facosh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals
+fatanh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals
+# Transcendentals (1-arg)
+frsqrt(s),   TBD,   high, 10, yes, EXT0xx, no, transcendentals
+fcbrt(s),    TBD,   low,  10, yes, EXT2xx, no, transcendentals
+frecip(s),   TBD,   high, 10, yes, EXT0xx, no, transcendentals
+fexp2m1(s),  TBD,   high, 10, yes, EXT0xx, no, transcendentals
+flog2p1(s),  TBD,   high, 10, yes, EXT0xx, no, transcendentals
+fexp2(s),    TBD,   high, 10, yes, EXT0xx, no, transcendentals
+flog2(s),    TBD,   high, 10, yes, EXT0xx, no, transcendentals
+fexpm1(s),   TBD,   med,  10, yes, TBD,    no, transcendentals
+flogp1(s),   TBD,   med,  10, yes, TBD,    no, transcendentals
+fexp(s),     TBD,   med,  10, yes, TBD,    no, transcendentals
+flog(s),     TBD,   med,  10, yes, TBD,    no, transcendentals
+fexp10m1(s), TBD,   med,  10, yes, TBD,    no, transcendentals
+flog10p1(s), TBD,   med,  10, yes, TBD,    no, transcendentals
+fexp10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals
+flog10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals
+# Transcendentals (2-arg)
+fatan2(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals
+fatan2pi(s),     TBD,   low,  10, yes, EXT2xx, no, transcendentals
+fpow(s),         TBD,   low,  10, yes, EXT2xx, no, transcendentals
+fpown(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals
+fpowr(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals
+frootn(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals
+fhypot(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminnum08(s),    TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxnum08(s),    TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmin19(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmax19(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminnum19(s),    TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxnum19(s),    TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminc(s),        TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxc(s),        TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminmagnum08(s), TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxmagnum08(s), TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminmag19(s),    TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxmag19(s),    TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminmagnum19(s), TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxmagnum19(s), TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fminmagc(s),     TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmaxmagc(s),     TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fmod(s),         TBD,   TBD,  10, yes, TBD,    no, transcendentals
+fremainder(s),   TBD,   TBD,  10, yes, TBD,    no, transcendentals