add subset to more optable.csv
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 21 Apr 2023 11:31:18 +0000 (12:31 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 21 Apr 2023 11:32:41 +0000 (12:32 +0100)
openpower/sv/rfc/ls012/optable.csv

index 59c170940dcc3f43406083988eb73612d5dab2db..b295c38205accaff79103d2e769193b78cebe6b3 100644 (file)
 op, rfc, priority, cost, SVP64, group, PO1, page, regs, Level
 # LD/ST-Postincrement
-lbzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-lbzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-lhzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-lhzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-lhaup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-lhaupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-lwzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-lwzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-lwaupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-ldup,     ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-ldupx,    ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-stbup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, TBD
-stbupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, TBD
-sthup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, TBD
-sthupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, TBD
-stwup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, TBD
-stwupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, TBD
-stdup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, TBD
-stdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, TBD
+lbzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+lbzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+lhzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+lhzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+lhaup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+lhaupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+lwzup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+lwzupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+lwaupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+ldup,     ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+ldupx,    ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+stbup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS
+stbupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS
+sthup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS
+sthupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS
+stwup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS
+stwupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS
+stdup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS
+stdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS
 # FP LD/ST-Postincrement
-lfdu,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-lfsup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, TBD
-lfdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-lsdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, TBD
-stfdup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, TBD
-stfsup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, TBD
-stfdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, TBD
-stfsupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, TBD
+lfdu,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+lfsup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS
+lfdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+lsdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS
+stfdup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS
+stfsup,    ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS
+stfdupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS
+stfsupx,   ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS
 # LD/ST-Shifted-Postincrement
-lbzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-lhzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-lhauspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-lwzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-lwauspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-lduspx,    ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-stbuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, TBD
-sthuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, TBD
-stwuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, TBD
-stduspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, TBD
+lbzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+lhzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+lhauspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+lwzuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+lwauspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+lduspx,    ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+stbuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS
+sthuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS
+stwuspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS
+stduspx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS
 # FP LD/ST-Shifted-Postincrement
-lfdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-lsdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, TBD
-stfdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, TBD
-stfsupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, TBD
+lfdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+lsdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS
+stfdupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS
+stfsupsx,   ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS
 # LD/ST-Index-Shifted (w/Update)
-lbzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lbzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, TBD
-lhzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lhzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, TBD
-lhasx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lhausx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, TBD
-lwzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lwzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, TBD
-lwasx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lwausx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, TBD
-ldsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-ldusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, TBD
-lhbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lwbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-ldbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-stbsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stbusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, TBD
-sthsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-sthusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, TBD
-stwsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stwusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, TBD
-stdsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stdusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, TBD
-sthbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stwbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stdbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
+lbzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lbzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS
+lhzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lhzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS
+lhasx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lhausx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS
+lwzsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lwzusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS
+lwasx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lwausx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS
+ldsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+ldusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS
+lhbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lwbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+ldbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+stbsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stbusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS
+sthsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+sthusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS
+stwsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stwusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS
+stdsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stdusx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS
+sthbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stwbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stdbrsx,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
 # FP LD/ST-Index-Shifted (w/Update)
-lfsxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lfsuxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lfdxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lfduxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lfiwaxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-lfiwzxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, TBD
-stfsxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stfsuxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, TBD
-stfdxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
-stfduxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, TBD
-stfiwxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, TBD
+lfsxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lfsuxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lfdxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lfduxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lfiwaxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+lfiwzxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS
+stfsxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stfsuxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS
+stfdxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
+stfduxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS
+stfiwxs,    ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS
 # Bitmanip LUT2/3 operations. high cost high reward
-grevlut,     TBD,   high, 3,  yes, TBD,    no,  sv/bitmanip, 2R1W, TBD
-grevluti,    TBD,   high, 3,  yes, TBD,    yes, sv/bitmanip, 1R1W, TBD
-ternlogi,    ls007, high, 2,  yes, TBD,    yes, sv/bitmanip, 3R1W1w, TBD
-crternlogi,  ls007, high, 5,  yes, TBD,    yes, sv/bitmanip, 3r1w, TBD
-binlut,      ls007, high, 6,  yes, TBD,    no,  sv/bitmanip, 3R1W, TBD
-crbinlut,    ls007, high, 5,  yes, TBD,    no,  sv/bitmanip, 3r1w, TBD
+grevlut,     TBD,   high, 3,  yes, TBD,    no,  sv/bitmanip, 2R1W, opt
+grevluti,    TBD,   high, 3,  yes, TBD,    yes, sv/bitmanip, 1R1W, opt
+ternlogi,    ls007, high, 2,  yes, TBD,    yes, sv/bitmanip, 3R1W1w, SFFS
+crternlogi,  ls007, high, 5,  yes, TBD,    yes, sv/bitmanip, 3r1w, SV/D
+binlut,      ls007, high, 6,  yes, TBD,    no,  sv/bitmanip, 3R1W, SFFS
+crbinlut,    ls007, high, 5,  yes, TBD,    no,  sv/bitmanip, 3r1w, SV/D
 # Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op)
-fmvis,       ls002, high, 5,  yes, TBD,    no,  sv/bitmanip, 1W, TBD
-fishmv,      ls002, high, 5,  yes, TBD,    no,  sv/bitmanip, 1R1W, TBD
+fmvis,       ls002, high, 5,  yes, TBD,    no,  sv/bitmanip, 1W, SFFS
+fishmv,      ls002, high, 5,  yes, TBD,    no,  sv/bitmanip, 1R1W, SFFS
 # Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish)
 shadd,       ls003, med,  7,  yes, TBD,    no,   sv/bitmanip, 2R1W1w, TBD
 shadduw,     ls003, med,  7,  yes, TBD,    no,   sv/bitmanip, 2R1W1w, TBD
 shaddw,      ls003, med,  7,  yes, TBD,    no,   sv/bitmanip, 2R1W1w, TBD
 # Audio-Video
-absdu,       TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, TBD
-avgadd,      TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, TBD
+absdu,       TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, SV/D
+avgadd,      TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 2R1W1w, SV/D
 minmax,      ls013, high, 6,  yes, EXT0xx, no, sv/av_opcodes, 2R1W1w, SFFS
-absaccs,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, TBD
+absaccs,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, SV/D
 absaccu,     TBD,   TBD,  10, yes, TBD,    no, sv/av_opcodes, 3R1W1w, TBD
 # BMI group
 bmask,       TBD,   high, 5,  yes, EXT0xx, yes, sv/vector_ops, 2R1W1w, SFFS