(no commit message)
[libreriscv.git] / openpower / sv / rfc / ls012 / optable.csv
1 op, rfc, priority, cost, SVP64, group, PO1, page, regs, level, binutils
2 # LD/ST-Postincrement
3 lbzup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
4 lbzupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
5 lhzup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
6 lhzupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
7 lhaup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
8 lhaupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
9 lwzup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
10 lwzupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
11 lwaupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
12 ldup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
13 ldupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
14 stbup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
15 stbupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
16 sthup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
17 sthupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
18 stwup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
19 stwupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
20 stdup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
21 stdupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
22 # FP LD/ST-Postincrement
23 lfdup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
24 lfsup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedload, 1R2W, SFFS, TBD
25 lfdupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
26 lsdupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedload, 2R2W, SFFS, TBD
27 stfdup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
28 stfsup, ls011, high, PO, yes, EXT2xx, no, isa/pifixedstore, 2R1W, SFFS, TBD
29 stfdupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
30 stfsupx, ls011, high, 10, yes, EXT2xx, no, isa/pifixedstore, 3R1W, SFFS, TBD
31 # LD/ST-Shifted-Postincrement
32 lbzupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
33 lhzupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
34 lhaupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
35 lwzupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
36 lwaupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
37 ldupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
38 stbupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
39 sthupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
40 stwupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
41 stdupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
42 # FP LD/ST-Shifted-Postincrement
43 lfdupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
44 lsdupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 2R2W, SFFS, TBD
45 stfdupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
46 stfsupsx, ls011, med, 9, yes, EXT2xx, no, ls011, 3R1W, SFFS, TBD
47 # LD/ST-Index-Shifted (w/Update)
48 lbzsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
49 lbzusx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
50 lhzsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
51 lhzusx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
52 lhasx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
53 lhausx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
54 lwzsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
55 lwzusx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
56 lwasx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
57 lwausx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
58 ldsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
59 ldusx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R2W, SFFS, TBD
60 lhbrsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
61 lwbrsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
62 ldbrsx, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
63 stbsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
64 stbusx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
65 sthsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
66 sthusx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
67 stwsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
68 stwusx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
69 stdsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
70 stdusx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
71 sthbrsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
72 stwbrsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
73 stdbrsx, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
74 # FP LD/ST-Index-Shifted (w/Update)
75 lfsxs, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
76 lfsuxs, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
77 lfdxs, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
78 lfduxs, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
79 lfiwaxs, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
80 lfiwzxs, ls004, high, 9, yes, EXT0xx, no, ls004, 2R1W, SFFS, TBD
81 stfsxs, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
82 stfsuxs, ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
83 stfdxs, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
84 stfduxs, ls004, high, 9, yes, EXT0xx, no, ls004, 3R1W, SFFS, TBD
85 stfiwxs, ls004, high, 9, yes, EXT0xx, no, ls004, 3R, SFFS, TBD
86 # Bitmanip LUT2/3 operations. high cost high reward
87 grevlut, TBD, high, 3, yes, TBD, no, sv/bitmanip, 2R1W, opt, no
88 grevluti, TBD, high, 3, yes, TBD, yes, sv/bitmanip, 1R1W, opt, no
89 ternlogi, ls007, high, 2, yes, TBD, yes, sv/bitmanip, 3R1W1w, SFFS, no
90 crternlogi, ls007, high, 5, yes, TBD, yes, sv/bitmanip, 3r1w, SV/D, no
91 binlut, ls007, high, 6, yes, TBD, no, sv/bitmanip, 3R1W, SFFS, no
92 crbinlut, ls007, high, 5, yes, TBD, no, sv/bitmanip, 3r1w, SV/D, no
93 # Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op)
94 fmvis, ls002.fmi, high, 5, yes, TBD, no, sv/bitmanip, 1W, SFFS, yes
95 fishmv, ls002.fmi, high, 5, yes, TBD, no, sv/bitmanip, 1R1W, SFFS, yes
96 # Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish)
97 sadd, ls004, med, 7, yes, EXT0xx, no, sv/bitmanip, 2R1W1w, SFFS, yes
98 sadduw, ls004, med, 7, yes, EXT0xx, no, sv/bitmanip, 2R1W1w, SFFS, yes
99 saddw, ls004, med, 7, yes, EXT0xx, no, sv/bitmanip, 2R1W1w, SFFS, yes
100 # Audio-Video
101 absdu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 2R1W1w, SV/D, TODO
102 avgadd, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 2R1W1w, SV/D, yes
103 minmax, ls013, high, 6, yes, EXT0xx, no, sv/av_opcodes, 2R1W1w, SFFS, yes
104 absaccs, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 3R1W1w, SV/D, TODO
105 absaccu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 3R1W1w, SV/D, TODO
106 # BMI group, TBD
107 bmask, TBD, high, 5, yes, EXT0xx, yes, sv/vector_ops, 2R1W1w, SFFS, yes
108 cprop, TBD, high, 5, yes, TBD, yes, sv/vector_ops, 2R1W1w, opt, yes
109 # SVP64 Management
110 setvl, ls008, high, 5, no, EXT0xx, yes, sv/setvl, 3R2W1w, SV/E, yes
111 svstep, ls008, high, 5, yes, EXT0xx, yes, sv/svstep, 1R2W1w, SV/E, yes
112 svremap, ls009, high, 5, no, EXT0xx, yes, sv/remap, 1R1W, SV/D, yes
113 svshape, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
114 svshape2, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
115 svindex, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
116 svshape3, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
117 svshape4, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D, yes
118 # GPU swizzle
119 mv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W, opt, TBD
120 fmv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W, opt, TBD
121 # CR weirds, TBD
122 crrweird, ls015, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w, SV/D, TODO
123 mfcrweird, ls015, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w, SV/D, TODO
124 mtcrrweird,ls015, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w, SV/D, TODO
125 mtcrweird, ls015, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w, SV/D, TODO
126 crweirder, ls015, high, 9, yes, TBD, no, sv/cr_int_predication, 2r1w, SV/D, TODO
127 mcrfm, ls015, high, 9, yes, EXT0xx, no, sv/cr_int_predication, 2r1w, SFFS, TODO
128 # fclass (Scalar variant of xvtstdcsp)
129 fptstp(s), TBD, high, 10, yes, EXT0xx, no, sv/fclass, 1R1w, SFFS, TODO
130 # INT<->FP mv, TBD
131 mffpr(s), ls006.fpintmv, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
132 mtfpr(s), ls006.fpintmv, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
133 ctfpr(s), ls006.fpintmv, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
134 cffpr(o), ls006.fpintmv, high, 9, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS, TODO
135 # Big-Integer Chained 3-in 2-out (64-bit Carry)
136 dsld, ls003.bignum, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS, yes
137 dsrd, ls003.bignum, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS, yes
138 maddedu, ls003.bignum, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS, yes
139 maddedus, ls003.bignum, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS, yes
140 divmod2du, ls003.bignum, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS, TODO
141 # FP DCT/FFT Butterfly (2/3-in 2-out)
142 ffadd(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, yes
143 ffsub(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, TODO
144 ffmul(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, TODO
145 ffdiv(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt, TODO
146 fdmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
147 ffmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
148 ffmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
149 ffnmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
150 ffnmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt, yes
151 # Trigonometric (1-arg)
152 fsin(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
153 fcos(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
154 ftan(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
155 fasin(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
156 facos(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
157 fatan(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
158 fsinpi(s), TBD, high, 10, yes, TBD, no, transcendentals, 1R1W1w, SV/S, yes
159 fcospi(s), TBD, high, 10, yes, TBD, no, transcendentals, 1R1W1w, SV/S, yes
160 ftanpi(s), TBD, high, 10, yes, TBD, no, transcendentals, 1R1W1w, SV/S, yes
161 fasinpi(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
162 facospi(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
163 fatanpi(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
164 fsinh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
165 fcosh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
166 ftanh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
167 fasinh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
168 facosh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
169 fatanh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
170 # Transcendentals (1-arg)
171 frsqrt(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
172 fcbrt(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w, opt, yes
173 frecip(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
174 fexp2m1(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
175 flog2p1(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
176 fexp2(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
177 flog2(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, SV/S, yes
178 fexpm1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
179 flogp1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
180 fexp(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
181 flog(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
182 fexp10m1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
183 flog10p1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
184 fexp10(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
185 flog10(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, opt, yes
186 # Transcendentals (2-arg)
187 fatan2(s), TBD, med, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
188 fatan2pi(s), TBD, med, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
189 fpow(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
190 fpown(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
191 fpowr(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
192 frootn(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt, yes
193 fhypot(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, opt, yes
194 fminmax, ls013, high, 6, yes, EXT0xx, no, transcendentals, 2R1W1w, SFFS, REDO
195 fmod(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, opt, yes
196 fremainder(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, opt, yes