rename shadd* -> sadd* in ls012/optable.csv to match ls004
[libreriscv.git] / openpower / sv / rfc / ls012 / optable.csv
index 60995249728e9573de7def3c563a04289035daa0..64f82b219832f08fc01226efbb4212503b739a96 100644 (file)
-op, rfc, priority, cost, SVP64, group, PO1, page, regs
-# LD/ST-Postincrement (FP TODO)
-lbzup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
-lbzupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
-lhzup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
-lhzupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
-lhaup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
-lhaupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
-lwzup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
-lwzupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
-lwaupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
-ldup,     ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
-ldupx,    ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
-stbup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
-stbupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
-sthup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
-sthupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
-stwup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
-stwupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
-stdup,    ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
-stdupx,   ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
-FP-LD,    ls011, high, ??, yes, EXT2xx, ??, TODO,
-FP-ST,    ls011, high, ??, yes, EXT2xx, ??, TODO,
+op, rfc, priority, cost, SVP64, group, PO1, page, regs, level, binutils
+# LD/ST-Postincrement
+lbzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+lbzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+lhzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+lhzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+lhaup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+lhaupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+lwzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+lwzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+lwaupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+ldup,     ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+ldupx,    ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+stbup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
+stbupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
+sthup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
+sthupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
+stwup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
+stwupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
+stdup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
+stdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
+# FP LD/ST-Postincrement
+lfdu,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+lfsup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
+lfdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+lsdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
+stfdup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
+stfsup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
+stfdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
+stfsupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
+# LD/ST-Shifted-Postincrement
+lbzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+lhzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+lhauspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+lwzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+lwauspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+lduspx,    ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+stbuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
+sthuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
+stwuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
+stduspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
+# FP LD/ST-Shifted-Postincrement
+lfdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+lsdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
+stfdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
+stfsupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
+# LD/ST-Index-Shifted (w/Update)
+lbzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lbzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
+lhzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lhzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
+lhasx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lhausx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
+lwzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lwzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
+lwasx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lwausx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
+ldsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+ldusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
+lhbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lwbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+ldbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+stbsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stbusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
+sthsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+sthusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
+stwsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stwusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
+stdsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stdusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
+sthbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stwbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stdbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+# FP LD/ST-Index-Shifted (w/Update)
+lfsxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lfsuxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lfdxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lfduxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lfiwaxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+lfiwzxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
+stfsxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stfsuxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
+stfdxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
+stfduxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
+stfiwxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
 # Bitmanip LUT2/3 operations. high cost high reward
-grevlut,     TBD,   high, 3,  yes, TBD,    no,  sv/bitmanip, 2R1W
-grevluti,    TBD,   high, 3,  yes, TBD,    yes, sv/bitmanip, 1R1W
-ternlogi,    ls007, high, 2,  yes, TBD,    yes, sv/bitmanip, 3R1W1w
-crternlogi,  ls007, high, 5,  yes, TBD,    yes, sv/bitmanip, 3r1w
-binlut,      ls007, high, 6,  yes, TBD,    no,  sv/bitmanip, 3R1W
-crbinlut,    ls007, high, 5,  yes, TBD,    no,  sv/bitmanip, 3r1w
+grevlut,     TBD,   high, 3,  yes, TBD,    no,  sv/bitmanip, 2R1W, opt, no
+grevluti,    TBD,   high, 3,  yes, TBD,    yes, sv/bitmanip, 1R1W, opt, no
+ternlogi,    ls007, high, 2,  yes, TBD,    yes, sv/bitmanip, 3R1W1w, SFFS, no
+crternlogi,  ls007, high, 5,  yes, TBD,    yes, sv/bitmanip, 3r1w, SV/D, no
+binlut,      ls007, high, 6,  yes, TBD,    no,  sv/bitmanip, 3R1W, SFFS, no
+crbinlut,    ls007, high, 5,  yes, TBD,    no,  sv/bitmanip, 3r1w, SV/D, no
 # Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op)
-fmvis,       ls002, high, 5,  yes, TBD,    no,  sv/bitmanip, 1W
-fishmv,      ls002, high, 5,  yes, TBD,    no,  sv/bitmanip, 1R1W
+fmvis,       ls002.fmi, high, 5,  yes, TBD,    no,  sv/bitmanip, 1W, SFFS, yes
+fishmv,      ls002.fmi, high, 5,  yes, TBD,    no,  sv/bitmanip, 1R1W, SFFS, yes
 # Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish)
-shadd,       ls003, med,  7,  yes, TBD,    no,   sv/bitmanip, 2R1W1w
-shadduw,     ls003, med,  7,  yes, TBD,    no,   sv/bitmanip, 2R1W1w
+sadd,        ls004, med,  7,  yes, EXT0xx, no,   sv/bitmanip, 2R1W1w, SFFS, yes
+sadduw,      ls004, med,  7,  yes, EXT0xx, no,   sv/bitmanip, 2R1W1w, SFFS, yes
+saddw,       ls004, med,  7,  yes, EXT0xx, no,   sv/bitmanip, 2R1W1w, SFFS, yes
 # Audio-Video
-absdu,       TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w
-avgadd,      TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w
-minmax,      TBD,   high, 10, yes, TBD,    no, sv/av_opcodes, 2R1W1w
-absaccs,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w
-absaccu,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w
-# BMI group
-bmask,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops, 2R1W1w
-cprop,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops, 2R1W1w
-# SVP64 Management.
-setvl,       ls008, high, 5,  no,  EXT0xx, yes, sv/setvl, 3R2W
-svstep,      ls008, high, 5,  no,  EXT0xx, yes, sv/svstep, 1R2W1w
-svremap,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 1R1W
-svshape,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W
-svshape2,    ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W
-svindex,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W
+absdu,       TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, SV/D, TODO
+avgadd,      TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, SV/D, yes
+minmax,      ls013, high, 6,  yes, EXT0xx, no, sv/av_opcodes, 2R1W1w, SFFS, yes
+absaccs,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, SV/D, TODO
+absaccu,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, SV/D, TODO
+# BMI group, TBD
+bmask,       TBD,   high, 5,  yes, EXT0xx, yes, sv/vector_ops, 2R1W1w, SFFS, yes
+cprop,       TBD,   high, 5,  yes, TBD,    yes, sv/vector_ops, 2R1W1w, opt, yes
+# SVP64 Management
+setvl,       ls008, high, 5,  no,  EXT0xx, yes, sv/setvl, 3R2W1w, SV/E, yes
+svstep,      ls008, high, 5,  yes, EXT0xx, yes, sv/svstep, 1R2W1w, SV/E, yes
+svremap,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 1R1W, SV/D, yes
+svshape,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
+svshape2,    ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
+svindex,     ls009, high, 5,  no,  EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
 # GPU swizzle
-mv.swizzle,  TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W
-fmv.swizzle, TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W
-# CR weirds
-crrweird,    TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication, 1r1W1w
-mfcrweird,   TBD,   high, 8,  yes, TBD,    no, sv/cr_int_predication, 1r1W1w
-mtcrrweird,  TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 1R1r1w
-mtcrweird,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 1R1r1w
-crweirder,   TBD,   high, 9,  yes, TBD,    no, sv/cr_int_predication, 2r1w
-mcrfm,       TBD,   high, 9,  yes, EXT0xx, no, sv/cr_int_predication, 2r1w
+mv.swizzle,  TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W, opt, TBD
+fmv.swizzle, TBD,   TBD,  4,  yes, TBD,    yes, sv/mv.swizzle, 2R2W, opt, TBD
+# CR weirds, TBD
+crrweird,  ls015, high, 8, yes, TBD,    no, sv/cr_int_predication, 1r1W1w, SV/D, TODO
+mfcrweird, ls015, high, 8, yes, TBD,    no, sv/cr_int_predication, 1r1W1w, SV/D, TODO
+mtcrrweird,ls015, high, 9, yes, TBD,    no, sv/cr_int_predication, 1R1r1w, SV/D, TODO
+mtcrweird, ls015, high, 9, yes, TBD,    no, sv/cr_int_predication, 1R1r1w, SV/D, TODO
+crweirder, ls015, high, 9, yes, TBD,    no, sv/cr_int_predication, 2r1w, SV/D, TODO
+mcrfm,     ls015, high, 9, yes, EXT0xx, no, sv/cr_int_predication, 2r1w, SFFS, TODO
 # fclass (Scalar variant of xvtstdcsp)
-fptstp(s),   TBD,   high,  10, yes, EXT0xx, no, sv/fclass, 1R1w
-# INT<->FP mv
-fmvfg(s),    ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
-fcvtfg(s),   ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
-fcvttg(s),   ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
-fcvtstg(s),  ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
+fptstp(s),   TBD,   high,  10, yes, EXT0xx, no, sv/fclass, 1R1w, SFFS, TODO
+# INT<->FP mv, TBD
+mffpr(s),    ls006.fpintmv, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
+mtfpr(s),    ls006.fpintmv, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
+ctfpr(s),   ls006.fpintmv, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
+cffpr(o),   ls006.fpintmv, high, 9,  yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
 # Big-Integer Chained 3-in 2-out (64-bit Carry)
-dsld,        ls003, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w
-dsrd,        ls003, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w
-maddedu,     ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W
-maddedus,    ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W
-divmod2du,   ls003, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W1w
+dsld,        ls003.bignum, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS, yes
+dsrd,        ls003.bignum, high, 5,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS, yes
+maddedu,     ls003.bignum, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS, yes
+maddedus,    ls003.bignum, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS, yes
+divmod2du,   ls003.bignum, high, 6,  yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS, TODO
 # FP DCT/FFT Butterfly (2/3-in 2-out)
-ffadd(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
-ffsub(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
-ffmul(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
-ffdiv(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
-fdmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w
-ffmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w
-ffmsub(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w
-ffnmadd(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w
-ffnmsub(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w
+ffadd(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, yes
+ffsub(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, TODO
+ffmul(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, TODO
+ffdiv(s),    TBD,   med,  10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, TODO
+fdmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
+ffmadd(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
+ffmsub(s),   TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
+ffnmadd(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
+ffnmsub(s),  TBD,   med,  5,  yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
 # Trigonometric (1-arg)
-fsin(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w
-fcos(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w
-ftan(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w
-fasin(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-facos(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fatan(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fsinpi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals, 1R1W1w
-fcospi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals, 1R1W1w
-ftanpi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals, 1R1W1w
-fasinpi(s),  TBD,   high,  10, yes, EXT2xx, no, transcendentals, 1R1W1w
-facospi(s),  TBD,   high,  10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fatanpi(s),  TBD,   high,  10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fsinh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fcosh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-ftanh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fasinh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-facosh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
-fatanh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w
+fsin(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+fcos(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+ftan(s),     TBD,   high,  10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+fasin(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+facos(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fatan(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fsinpi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals, 1R1W1w, SV/S, yes
+fcospi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals, 1R1W1w, SV/S, yes
+ftanpi(s),   TBD,   high,  10, yes, TBD,    no, transcendentals, 1R1W1w, SV/S, yes
+fasinpi(s),  TBD,   low,  10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+facospi(s),  TBD,   low,  10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fatanpi(s),  TBD,   low,  10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fsinh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fcosh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+ftanh(s),    TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fasinh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+facosh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+fatanh(s),   TBD,   low,   10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
 # Transcendentals (1-arg)
-frsqrt(s),   TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
-fcbrt(s),    TBD,   low,  10, yes, EXT2xx, no, transcendentals, 1R1W1w
-frecip(s),   TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
-fexp2m1(s),  TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
-flog2p1(s),  TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
-fexp2(s),    TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
-flog2(s),    TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
-fexpm1(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-flogp1(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-fexp(s),     TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-flog(s),     TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-fexp10m1(s), TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-flog10p1(s), TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-fexp10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
-flog10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w
+frsqrt(s),   TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+fcbrt(s),    TBD,   low,  10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
+frecip(s),   TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+fexp2m1(s),  TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+flog2p1(s),  TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+fexp2(s),    TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+flog2(s),    TBD,   high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
+fexpm1(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+flogp1(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+fexp(s),     TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+flog(s),     TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+fexp10m1(s), TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+flog10p1(s), TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+fexp10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
+flog10(s),   TBD,   med,  10, yes, TBD,    no, transcendentals, 1R1W1w, opt, yes
 # Transcendentals (2-arg)
-fatan2(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w
-fatan2pi(s),     TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w
-fpow(s),         TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w
-fpown(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w
-fpowr(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w
-frootn(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w
-fhypot(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w
-fminnum08(s),    TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxnum08(s),    TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmin19(s),       TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmax19(s),       TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fminnum19(s),    TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxnum19(s),    TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fminc(s),        TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxc(s),        TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fminmagnum08(s), TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxmagnum08(s), TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fminmag19(s),    TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxmag19(s),    TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fminmagnum19(s), TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxmagnum19(s), TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fminmagc(s),     TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmaxmagc(s),     TBD,   high, 10, yes, TBD,    no, transcendentals, 2R1W1w
-fmod(s),         TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w
-fremainder(s),   TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w
+fatan2(s),       TBD,   med,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
+fatan2pi(s),     TBD,   med,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
+fpow(s),         TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
+fpown(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
+fpowr(s),        TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
+frootn(s),       TBD,   low,  10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
+fhypot(s),       TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, opt, yes
+fminmax,         ls013, high, 6,  yes, EXT0xx, no, transcendentals, 2R1W1w, SFFS, REDO
+fmod(s),         TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, opt, yes
+fremainder(s),   TBD,   TBD,  10, yes, TBD,    no, transcendentals, 2R1W1w, opt, yes