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