update sv_analysis
[libreriscv.git] / openpower / opcode_regs_deduped.mdwn
1 # OpenPOWER ISA register 'profile's
2
3 this page is auto-generated, do not edit
4 created by http://libre-soc.org/openpower/sv_analysis.py
5
6 # map to old SV Prefix
7
8 [[!table data="""
9 LDST-1R-1W-imm | LDSTRM-2P-1S1D |
10 LDST-1R-2W-imm | LDSTRM-2P-1S2D |
11 LDST-2R-imm | LDSTRM-2P-2S |
12 LDST-2R-1W | LDSTRM-2P-2S1D |
13 LDST-2R-1W-imm | LDSTRM-2P-2S1D |
14 LDST-2R-2W | LDSTRM-2P-2S1D |
15 LDST-3R | LDSTRM-2P-3S |
16 LDST-3R-CRo | LDSTRM-2P-3S |
17 LDST-3R-1W | LDSTRM-2P-2S1D |
18 | non-SV |
19 imm | non-SV |
20 CRo | - |
21 CRio | RM-2P-1S1D |
22 CR=2R1W | RM-1P-2S1D |
23 1W | non-SV |
24 1W-CRi | RM-2P-1S1D |
25 1R | non-SV |
26 1R-imm | non-SV |
27 1R-CRo | RM-2P-1S1D |
28 1R-CRo | RM-2P-1S1D |
29 1R-CRio | RM-2P-2S1D |
30 1R-1W | RM-2P-1S1D |
31 1R-1W-imm | RM-2P-1S1D |
32 1R-1W-CRo | RM-2P-1S1D |
33 1R-1W-CRo | RM-2P-1S1D |
34 2R | non-SV |
35 2R-CRo | RM-1P-2S1D |
36 2R-1W | RM-1P-2S1D |
37 2R-1W-CRo | RM-1P-2S1D |
38 2R-1W-CRo | RM-1P-2S1D |
39 2R-1W-CRi | RM-1P-3S1D |
40 2R-1W-CRio | RM-1P-2S1D |
41 3R-1W-CRo | - |
42 3R-1W-CRio | RM-1P-3S1D |
43 """]]
44
45 # keys
46
47 [[!table data="""
48 unit | in | outcnt | CR in | CR out | imm | imms | name |
49 LDST | 1 | 1 | 0 | 0 | 1 | DS/SI | LDST-1R-1W-imm |
50 LDST | 1 | 2 | 0 | 0 | 1 | DS/SI | LDST-1R-2W-imm |
51 LDST | 2 | 0 | 0 | 0 | 1 | DS/SI | LDST-2R-imm |
52 LDST | 2 | 1 | 0 | 0 | | | LDST-2R-1W |
53 LDST | 2 | 1 | 0 | 0 | 1 | DS/SI | LDST-2R-1W-imm |
54 LDST | 2 | 2 | 0 | 0 | | | LDST-2R-2W |
55 LDST | 3 | 0 | 0 | 0 | | | LDST-3R |
56 LDST | 3 | 0 | 0 | 1 | | | LDST-3R-CRo |
57 LDST | 3 | 1 | 0 | 0 | | | LDST-3R-1W |
58 OTHER | 0 | 0 | 0 | 0 | | | |
59 OTHER | 0 | 0 | 0 | 0 | 1 | LI | imm |
60 OTHER | 0 | 0 | 0 | 1 | | | CRo |
61 OTHER | 0 | 0 | 1 | 1 | | | CRio |
62 OTHER | 0 | 0 | 1 | 1 | 1 | | | CR=2R1W |
63 OTHER | 0 | 1 | 0 | 0 | | | 1W |
64 OTHER | 0 | 1 | 1 | 0 | | | 1W-CRi |
65 OTHER | 1 | 0 | 0 | 0 | | | 1R |
66 OTHER | 1 | 0 | 0 | 0 | 1 | SI | 1R-imm |
67 OTHER | 1 | 0 | 0 | 1 | | | 1R-CRo |
68 OTHER | 1 | 0 | 0 | 1 | 1 | SI/UI | 1R-CRo |
69 OTHER | 1 | 0 | 1 | 1 | | | 1R-CRio |
70 OTHER | 1 | 1 | 0 | 0 | | | 1R-1W |
71 OTHER | 1 | 1 | 0 | 0 | 1 | SI/UI | 1R-1W-imm |
72 OTHER | 1 | 1 | 0 | 1 | | | 1R-1W-CRo |
73 OTHER | 1 | 1 | 0 | 1 | 1 | M1/SH/SH32/SI/UI | 1R-1W-CRo |
74 OTHER | 2 | 0 | 0 | 0 | | | 2R |
75 OTHER | 2 | 0 | 0 | 1 | | | 2R-CRo |
76 OTHER | 2 | 1 | 0 | 0 | | | 2R-1W |
77 OTHER | 2 | 1 | 0 | 1 | | | 2R-1W-CRo |
78 OTHER | 2 | 1 | 0 | 1 | 1 | SH/SH32 | 2R-1W-CRo |
79 OTHER | 2 | 1 | 1 | 0 | | | 2R-1W-CRi |
80 OTHER | 2 | 1 | 1 | 1 | | | 2R-1W-CRio |
81 OTHER | 3 | 1 | 0 | 1 | | | 3R-1W-CRo |
82 OTHER | 3 | 1 | 1 | 1 | | | 3R-1W-CRio |
83 """]]
84
85 ## LDST-1R-1W-imm (LDSTRM-2P-1S1D)
86
87 [[!table data="""
88 CSV | opcode | asm | form |
89 major.csv | 32 | lwz | D-Form |
90 major.csv | 34 | lbz | D-Form |
91 major.csv | 40 | lhz | D-Form |
92 major.csv | 42 | lha | D-Form |
93 minor_58.csv | 0 | ld | DS-Form |
94 minor_58.csv | 2 | lwa | DS-Form |
95 """]]
96
97 ## LDST-1R-2W-imm (LDSTRM-2P-1S2D)
98
99 [[!table data="""
100 CSV | opcode | asm | form |
101 major.csv | 33 | lwzu | D-Form |
102 major.csv | 35 | lbzu | D-Form |
103 major.csv | 41 | lhzu | D-Form |
104 major.csv | 43 | lhau | D-Form |
105 minor_58.csv | 1 | ldu | DS-Form |
106 """]]
107
108 ## LDST-2R-imm (LDSTRM-2P-2S)
109
110 [[!table data="""
111 CSV | opcode | asm | form |
112 major.csv | 36 | stw | D-Form |
113 major.csv | 38 | stb | D-Form |
114 major.csv | 44 | sth | D-Form |
115 minor_62.csv | 0 | std | DS-Form |
116 """]]
117
118 ## LDST-2R-1W (LDSTRM-2P-2S1D)
119
120 [[!table data="""
121 CSV | opcode | asm | form |
122 minor_31.csv | 0b0000010100 | lwarx | X-Form |
123 minor_31.csv | 0b0000010101 | ldx | X-Form |
124 minor_31.csv | 0b0000010111 | lwzx | X-Form |
125 minor_31.csv | 0b0000110100 | lbarx | X-Form |
126 minor_31.csv | 0b0001010100 | ldarx | X-Form |
127 minor_31.csv | 0b0001010111 | lbzx | X-Form |
128 minor_31.csv | 0b0001110100 | lharx | X-Form |
129 minor_31.csv | 0b0100010111 | lhzx | X-Form |
130 minor_31.csv | 0b0101010101 | lwax | X-Form |
131 minor_31.csv | 0b0101010111 | lhax | X-Form |
132 minor_31.csv | 0b1000010100 | ldbrx | X-Form |
133 minor_31.csv | 0b1000010110 | lwbrx | X-Form |
134 minor_31.csv | 0b1100010101 | lwzcix | X-Form |
135 minor_31.csv | 0b1100010110 | lhbrx | X-Form |
136 minor_31.csv | 0b1100110101 | lhzcix | X-Form |
137 minor_31.csv | 0b1101010101 | lbzcix | X-Form |
138 minor_31.csv | 0b1101110101 | ldcix | X-Form |
139 """]]
140
141 ## LDST-2R-1W-imm (LDSTRM-2P-2S1D)
142
143 [[!table data="""
144 CSV | opcode | asm | form |
145 major.csv | 37 | stwu | D-Form |
146 major.csv | 39 | stbu | D-Form |
147 major.csv | 45 | sthu | D-Form |
148 minor_62.csv | 1 | stdu | DS-Form |
149 """]]
150
151 ## LDST-2R-2W (LDSTRM-2P-2S1D)
152
153 [[!table data="""
154 CSV | opcode | asm | form |
155 minor_31.csv | 0b0000110101 | ldux | X-Form |
156 minor_31.csv | 0b0000110111 | lwzux | X-Form |
157 minor_31.csv | 0b0001110111 | lbzux | X-Form |
158 minor_31.csv | 0b0100110111 | lhzux | X-Form |
159 minor_31.csv | 0b0101110101 | lwaux | X-Form |
160 minor_31.csv | 0b0101110111 | lhaux | X-Form |
161 """]]
162
163 ## LDST-3R (LDSTRM-2P-3S)
164
165 [[!table data="""
166 CSV | opcode | asm | form |
167 minor_31.csv | 0b0010010101 | stdx | X-Form |
168 minor_31.csv | 0b0010010111 | stwx | X-Form |
169 minor_31.csv | 0b0011010111 | stbx | X-Form |
170 minor_31.csv | 0b0110010111 | sthx | X-Form |
171 minor_31.csv | 0b1010010100 | stdbrx | X-Form |
172 minor_31.csv | 0b1010010110 | stwbrx | X-Form |
173 minor_31.csv | 0b1110010101 | stwcix | X-Form |
174 minor_31.csv | 0b1110010110 | sthbrx | X-Form |
175 minor_31.csv | 0b1110110101 | sthcix | X-Form |
176 minor_31.csv | 0b1111010101 | stbcix | X-Form |
177 minor_31.csv | 0b1111110101 | stdcix | X-Form |
178 """]]
179
180 ## LDST-3R-CRo (LDSTRM-2P-3S)
181
182 [[!table data="""
183 CSV | opcode | asm | form |
184 minor_31.csv | 0b0010010110 | stwcx | X-Form |
185 minor_31.csv | 0b0011010110 | stdcx | X-Form |
186 minor_31.csv | 0b1010110110 | stbcx | X-Form |
187 minor_31.csv | 0b1011010110 | sthcx | X-Form |
188 """]]
189
190 ## LDST-3R-1W (LDSTRM-2P-2S1D)
191
192 [[!table data="""
193 CSV | opcode | asm | form |
194 minor_31.csv | 0b0010110101 | stdux | X-Form |
195 minor_31.csv | 0b0010110111 | stwux | X-Form |
196 minor_31.csv | 0b0011110111 | stbux | X-Form |
197 minor_31.csv | 0b0110110111 | sthux | X-Form |
198 """]]
199
200 ## (non-SV)
201
202 [[!table data="""
203 CSV | opcode | asm | form |
204 extra.csv | 000000---------------0100000000- | attn | NONE-Form |
205 extra.csv | 01100000000000000000000000000000 | nop | D-Form |
206 major.csv | 17 | sc | SC-Form |
207 minor_19.csv | 0b0010010110 | isync | XL-Form |
208 minor_19_00000.csv | 0b00010 | add pcis not implemented yet | DX-Form |
209 minor_31.csv | 0b0000010110 | icbt | X-Form |
210 minor_31.csv | 0b0000110110 | dcbst | X-Form |
211 minor_31.csv | 0b0001010110 | dcbf | X-Form |
212 minor_31.csv | 0b0011110110 | dcbtst | X-Form |
213 minor_31.csv | 0b0100010110 | dcbt | X-Form |
214 minor_31.csv | 0b0111110010 | slbia | X-Form |
215 minor_31.csv | 0b1001010110 | sync | X-Form |
216 minor_31.csv | 0b1111010110 | icbi | X-Form |
217 """]]
218
219 ## imm (non-SV)
220
221 [[!table data="""
222 CSV | opcode | asm | form |
223 major.csv | 18 | b | I-Form |
224 """]]
225
226 ## CRo (-)
227
228 [[!table data="""
229 CSV | opcode | asm | form |
230 minor_63l.csv | 0b000000010 | 2/0=mcrfs | -Form |
231 minor_63l.csv | 0b011000001 | 1/6=mtfsb1 | -Form |
232 minor_63l.csv | 0b011000010 | 2/6=mtfsb0 | -Form |
233 minor_63l.csv | 0b011000100 | 4/6=mtfsfi | -Form |
234 """]]
235
236 ## CRio (RM-2P-1S1D)
237
238 [[!table data="""
239 CSV | opcode | asm | form |
240 minor_19.csv | 0b0000000000 | mcrf | XL-Form |
241 """]]
242
243 ## CR=2R1W (RM-1P-2S1D)
244
245 [[!table data="""
246 CSV | opcode | asm | form |
247 minor_19.csv | 0b0000100001 | crnor | XL-Form |
248 minor_19.csv | 0b0010000001 | crandc | XL-Form |
249 minor_19.csv | 0b0011000001 | crxor | XL-Form |
250 minor_19.csv | 0b0011100001 | crnand | XL-Form |
251 minor_19.csv | 0b0100000001 | crand | XL-Form |
252 minor_19.csv | 0b0100100001 | creqv | XL-Form |
253 minor_19.csv | 0b0110100001 | crorc | XL-Form |
254 minor_19.csv | 0b0111000001 | cror | XL-Form |
255 """]]
256
257 ## 1W (non-SV)
258
259 [[!table data="""
260 CSV | opcode | asm | form |
261 extra.csv | 000001---------------0000000011- | sim_cfg | NONE-Form |
262 minor_31.csv | 0b0001010011 | mfmsr | X-Form |
263 """]]
264
265 ## 1W-CRi (RM-2P-1S1D)
266
267 [[!table data="""
268 CSV | opcode | asm | form |
269 minor_31.csv | 0b0000010011 | mfcr/mfocrf | XFX-Form |
270 minor_31.csv | 0b0010000000 | setb | VX-Form |
271 """]]
272
273 ## 1R (non-SV)
274
275 [[!table data="""
276 CSV | opcode | asm | form |
277 minor_31.csv | 0b0010010010 | mtmsr | X-Form |
278 minor_31.csv | 0b0010110010 | mtmsrd | X-Form |
279 minor_31.csv | 0b0100010010 | tlbiel | X-Form |
280 minor_31.csv | 0b0100110010 | tlbie | X-Form |
281 """]]
282
283 ## 1R-imm (non-SV)
284
285 [[!table data="""
286 CSV | opcode | asm | form |
287 major.csv | 2 | tdi | D-Form |
288 major.csv | 3 | twi | D-Form |
289 """]]
290
291 ## 1R-CRo (RM-2P-1S1D)
292
293 [[!table data="""
294 CSV | opcode | asm | form |
295 minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form |
296 minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form |
297 """]]
298
299 ## 1R-CRo (RM-2P-1S1D)
300
301 [[!table data="""
302 CSV | opcode | asm | form |
303 major.csv | 10 | cmpli | D-Form |
304 major.csv | 11 | cmpi | D-Form |
305 """]]
306
307 ## 1R-CRio (RM-2P-2S1D)
308
309 [[!table data="""
310 CSV | opcode | asm | form |
311 minor_31.csv | 0b0010010000 | mtcrf/mtocrf | XFX-Form |
312 """]]
313
314 ## 1R-1W (RM-2P-1S1D)
315
316 [[!table data="""
317 CSV | opcode | asm | form |
318 minor_31.csv | 0b0001101000 | neg | XO-Form |
319 minor_31.csv | 0b0001111010 | popcntb | X-Form |
320 minor_31.csv | 0b0010011010 | prtyw | X-Form |
321 minor_31.csv | 0b0010111010 | prtyd | X-Form |
322 minor_31.csv | 0b0101010011 | mfspr | XFX-Form |
323 minor_31.csv | 0b0101111010 | popcntw | X-Form |
324 minor_31.csv | 0b0111010011 | mtspr | XFX-Form |
325 minor_31.csv | 0b0111111010 | popcntd | X-Form |
326 minor_31.csv | 0b1001101000 | nego | XO-Form |
327 """]]
328
329 ## 1R-1W-imm (RM-2P-1S1D)
330
331 [[!table data="""
332 CSV | opcode | asm | form |
333 major.csv | 12 | addic | D-Form |
334 major.csv | 14 | addi | D-Form |
335 major.csv | 15 | addis | D-Form |
336 major.csv | 24 | ori | D-Form |
337 major.csv | 25 | oris | D-Form |
338 major.csv | 26 | xori | D-Form |
339 major.csv | 27 | xoris | D-Form |
340 major.csv | 8 | subfic | D-Form |
341 """]]
342
343 ## 1R-1W-CRo (RM-2P-1S1D)
344
345 [[!table data="""
346 CSV | opcode | asm | form |
347 minor_31.csv | 0b0000011010 | cntlzw | X-Form |
348 minor_31.csv | 0b0000111010 | cntlzd | X-Form |
349 minor_31.csv | 0b0011001000 | subfze | XO-Form |
350 minor_31.csv | 0b0011001010 | addze | XO-Form |
351 minor_31.csv | 0b1000011010 | cnttzw | X-Form |
352 minor_31.csv | 0b1000111010 | cnttzd | X-Form |
353 minor_31.csv | 0b1011001000 | subfzeo | XO-Form |
354 minor_31.csv | 0b1011001010 | addzeo | XO-Form |
355 minor_31.csv | 0b1110011010 | extsh | X-Form |
356 minor_31.csv | 0b1110111010 | extsb | X-Form |
357 minor_31.csv | 0b1111011010 | extsw | X-Form |
358 minor_59.csv | 0b01110 | fcfid[u]s | -Form |
359 minor_59.csv | 0b10110 | fsqrts | -Form |
360 minor_59.csv | 0b11000 | fres | -Form |
361 minor_59.csv | 0b11010 | frsqrtes | -Form |
362 minor_63h.csv | 0b0110 | fsqrt | -Form |
363 minor_63h.csv | 0b1000 | fre | -Form |
364 minor_63h.csv | 0b1010 | frsqrte | -Form |
365 minor_63l.csv | 0b011110010 | 18/7=mffsfamily | -Form |
366 minor_63l.csv | 0b100000001 | 1/8=fneg | -Form |
367 minor_63l.csv | 0b100000010 | 2/8=fmr | -Form |
368 minor_63l.csv | 0b100000100 | 4/8=fnabs | -Form |
369 minor_63l.csv | 0b100001000 | 8/8=fabs | -Form |
370 minor_63l.csv | 0b100001100 | 12/8=frin | -Form |
371 minor_63l.csv | 0b100001101 | 13/8=friz | -Form |
372 minor_63l.csv | 0b100001110 | 14/8=frip | -Form |
373 minor_63l.csv | 0b100001111 | 15/8=frim | -Form |
374 minor_63l.csv | 0b110000000 | 0/12=frsp | -Form |
375 minor_63l.csv | 0b111000000 | 0/14=fctiw | -Form |
376 minor_63l.csv | 0b111000100 | 4/14=fctiwu | -Form |
377 minor_63l.csv | 0b111011001 | 25/14=fctid | -Form |
378 minor_63l.csv | 0b111011010 | 26/14=fcfid | -Form |
379 minor_63l.csv | 0b111011101 | 29/14=fctidu | -Form |
380 minor_63l.csv | 0b111011110 | 30/14=fcfidu | -Form |
381 minor_63l.csv | 0b111100000 | 0/15=fctiwz | -Form |
382 minor_63l.csv | 0b111100100 | 4/15=fctiwuz | -Form |
383 minor_63l.csv | 0b111111001 | 25/15=fctidz | -Form |
384 minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form |
385 """]]
386
387 ## 1R-1W-CRo (RM-2P-1S1D)
388
389 [[!table data="""
390 CSV | opcode | asm | form |
391 major.csv | 13 | addic. | D-Form |
392 major.csv | 21 | rlwinm | M-Form |
393 major.csv | 28 | andi. | B-Form |
394 major.csv | 29 | andis. | B-Form |
395 major.csv | 7 | mulli | D-Form |
396 minor_30.csv | 0b0000 | rldicl | MDS-Form |
397 minor_30.csv | 0b0001 | rldicl | MDS-Form |
398 minor_30.csv | 0b0010 | rldicr | MD-Form |
399 minor_30.csv | 0b0011 | rldicr | MD-Form |
400 minor_30.csv | 0b0100 | rldic | MD-Form |
401 minor_30.csv | 0b0101 | rldic | MD-Form |
402 minor_31.csv | 0b0011101000 | subfme | XO-Form |
403 minor_31.csv | 0b0011101010 | addme | XO-Form |
404 minor_31.csv | 0b1011101000 | subfmeo | XO-Form |
405 minor_31.csv | 0b1011101010 | addmeo | XO-Form |
406 minor_31.csv | 0b1100111000 | srawi | X-Form |
407 minor_31.csv | 0b1100111010 | sradi | XS-Form |
408 minor_31.csv | 0b1100111011 | sradi | XS-Form |
409 minor_31.csv | 0b1101111010 | extswsli | XS-Form |
410 minor_31.csv | 0b1101111011 | extswsli | XS-Form |
411 """]]
412
413 ## 2R (non-SV)
414
415 [[!table data="""
416 CSV | opcode | asm | form |
417 minor_31.csv | 0b0000000100 | tw | X-Form |
418 minor_31.csv | 0b0001000100 | td | X-Form |
419 minor_31.csv | 0b1111110110 | dcbz | X-Form |
420 """]]
421
422 ## 2R-CRo (RM-1P-2S1D)
423
424 [[!table data="""
425 CSV | opcode | asm | form |
426 minor_31.csv | 0b0000000000 | cmp | X-Form |
427 minor_31.csv | 0b0000100000 | cmpl | X-Form |
428 minor_31.csv | 0b0011000000 | cmprb | X-Form |
429 minor_31.csv | 0b0011100000 | cmpeqb | X-Form |
430 minor_63l.csv | 0b000000000 | 0/0=fcmpu | -Form |
431 minor_63l.csv | 0b000000001 | 1/0=fcmpo | -Form |
432 minor_63l.csv | 0b000000100 | 4/0=ftdiv | -Form |
433 """]]
434
435 ## 2R-1W (RM-1P-2S1D)
436
437 [[!table data="""
438 CSV | opcode | asm | form |
439 minor_31.csv | 0b0011111100 | bpermd | X-Form |
440 minor_31.csv | 0b0100001001 | modud | X-Form |
441 minor_31.csv | 0b0100001011 | moduw | X-Form |
442 minor_31.csv | 0b0111111100 | cmpb | X-Form |
443 minor_31.csv | 0b1100001001 | modsd | X-Form |
444 minor_31.csv | 0b1100001011 | modsw | X-Form |
445 """]]
446
447 ## 2R-1W-CRo (RM-1P-2S1D)
448
449 [[!table data="""
450 CSV | opcode | asm | form |
451 major.csv | 23 | rlwnm | M-Form |
452 minor_30.csv | 0b1000 | rldcl | MD-Form |
453 minor_30.csv | 0b1001 | rldcr | MD-Form |
454 minor_31.csv | 0b0000001000 | subfc | XO-Form |
455 minor_31.csv | 0b0000001001 | mulhdu | XO-Form |
456 minor_31.csv | 0b0000001010 | addc | XO-Form |
457 minor_31.csv | 0b0000001011 | mulhwu | XO-Form |
458 minor_31.csv | 0b0000011000 | slw | X-Form |
459 minor_31.csv | 0b0000011011 | sld | X-Form |
460 minor_31.csv | 0b0000011100 | and | X-Form |
461 minor_31.csv | 0b0000101000 | subf | XO-Form |
462 minor_31.csv | 0b0000111100 | andc | X-Form |
463 minor_31.csv | 0b0001001001 | mulhd | XO-Form |
464 minor_31.csv | 0b0001001011 | mulhw | XO-Form |
465 minor_31.csv | 0b0001111100 | nor | X-Form |
466 minor_31.csv | 0b0010001000 | subfe | XO-Form |
467 minor_31.csv | 0b0010001010 | adde | XO-Form |
468 minor_31.csv | 0b0011101001 | mulld | XO-Form |
469 minor_31.csv | 0b0011101011 | mullw | XO-Form |
470 minor_31.csv | 0b0100001010 | add | XO-Form |
471 minor_31.csv | 0b0100011100 | eqv | X-Form |
472 minor_31.csv | 0b0100111100 | xor | X-Form |
473 minor_31.csv | 0b0110001001 | divdeu | XO-Form |
474 minor_31.csv | 0b0110001011 | divweu | XO-Form |
475 minor_31.csv | 0b0110011100 | orc | X-Form |
476 minor_31.csv | 0b0110101001 | divde | XO-Form |
477 minor_31.csv | 0b0110101011 | divwe | XO-Form |
478 minor_31.csv | 0b0110111100 | or | X-Form |
479 minor_31.csv | 0b0111001001 | divdu | XO-Form |
480 minor_31.csv | 0b0111001011 | divwu | XO-Form |
481 minor_31.csv | 0b0111011100 | nand | X-Form |
482 minor_31.csv | 0b0111101001 | divd | XO-Form |
483 minor_31.csv | 0b0111101011 | divw | XO-Form |
484 minor_31.csv | 0b1000001000 | subfco | XO-Form |
485 minor_31.csv | 0b1000001001 | mulhdu | XO-Form |
486 minor_31.csv | 0b1000001010 | addco | XO-Form |
487 minor_31.csv | 0b1000001011 | mulhwu | XO-Form |
488 minor_31.csv | 0b1000011000 | srw | X-Form |
489 minor_31.csv | 0b1000011011 | srd | X-Form |
490 minor_31.csv | 0b1000101000 | subfo | XO-Form |
491 minor_31.csv | 0b1001001001 | mulhd | XO-Form |
492 minor_31.csv | 0b1001001011 | mulhw | XO-Form |
493 minor_31.csv | 0b1010001000 | subfeo | XO-Form |
494 minor_31.csv | 0b1010001010 | addeo | XO-Form |
495 minor_31.csv | 0b1011101001 | mulldo | XO-Form |
496 minor_31.csv | 0b1011101011 | mullwo | XO-Form |
497 minor_31.csv | 0b1100001010 | addo | XO-Form |
498 minor_31.csv | 0b1100011000 | sraw | X-Form |
499 minor_31.csv | 0b1100011010 | srad | X-Form |
500 minor_31.csv | 0b1110001001 | divdeuo | XO-Form |
501 minor_31.csv | 0b1110001011 | divweuo | XO-Form |
502 minor_31.csv | 0b1110101001 | divdeo | XO-Form |
503 minor_31.csv | 0b1110101011 | divweo | XO-Form |
504 minor_31.csv | 0b1111001001 | divduo | XO-Form |
505 minor_31.csv | 0b1111001011 | divwuo | XO-Form |
506 minor_31.csv | 0b1111101001 | divdo | XO-Form |
507 minor_31.csv | 0b1111101011 | divwo | XO-Form |
508 minor_59.csv | 0b10010 | fdivs | -Form |
509 minor_59.csv | 0b10100 | fsubs | -Form |
510 minor_59.csv | 0b10101 | fadds | -Form |
511 minor_59.csv | 0b11001 | fmuls | -Form |
512 minor_63h.csv | 0b0010 | fdiv | -Form |
513 minor_63h.csv | 0b0100 | fsub | -Form |
514 minor_63h.csv | 0b0101 | fadd | -Form |
515 minor_63h.csv | 0b1001 | fmul | -Form |
516 minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form |
517 """]]
518
519 ## 2R-1W-CRo (RM-1P-2S1D)
520
521 [[!table data="""
522 CSV | opcode | asm | form |
523 major.csv | 20 | rlwimi | M-Form |
524 minor_30.csv | 0b0110 | rldimi | MD-Form |
525 minor_30.csv | 0b0111 | rldimi | MD-Form |
526 """]]
527
528 ## 2R-1W-CRi (RM-1P-3S1D)
529
530 [[!table data="""
531 CSV | opcode | asm | form |
532 minor_31.csv | 0b0000001111 | isel | A-Form |
533 minor_31.csv | 0b0000101111 | isel | A-Form |
534 minor_31.csv | 0b0001001111 | isel | A-Form |
535 minor_31.csv | 0b0001101111 | isel | A-Form |
536 minor_31.csv | 0b0010001111 | isel | A-Form |
537 minor_31.csv | 0b0010101111 | isel | A-Form |
538 minor_31.csv | 0b0011001111 | isel | A-Form |
539 minor_31.csv | 0b0011101111 | isel | A-Form |
540 minor_31.csv | 0b0100001111 | isel | A-Form |
541 minor_31.csv | 0b0100101111 | isel | A-Form |
542 minor_31.csv | 0b0101001111 | isel | A-Form |
543 minor_31.csv | 0b0101101111 | isel | A-Form |
544 minor_31.csv | 0b0110001111 | isel | A-Form |
545 minor_31.csv | 0b0110101111 | isel | A-Form |
546 minor_31.csv | 0b0111001111 | isel | A-Form |
547 minor_31.csv | 0b0111101111 | isel | A-Form |
548 minor_31.csv | 0b1000001111 | isel | A-Form |
549 minor_31.csv | 0b1000101111 | isel | A-Form |
550 minor_31.csv | 0b1001001111 | isel | A-Form |
551 minor_31.csv | 0b1001101111 | isel | A-Form |
552 minor_31.csv | 0b1010001111 | isel | A-Form |
553 minor_31.csv | 0b1010101111 | isel | A-Form |
554 minor_31.csv | 0b1011001111 | isel | A-Form |
555 minor_31.csv | 0b1011101111 | isel | A-Form |
556 minor_31.csv | 0b1100001111 | isel | A-Form |
557 minor_31.csv | 0b1100101111 | isel | A-Form |
558 minor_31.csv | 0b1101001111 | isel | A-Form |
559 minor_31.csv | 0b1101101111 | isel | A-Form |
560 minor_31.csv | 0b1110001111 | isel | A-Form |
561 minor_31.csv | 0b1110101111 | isel | A-Form |
562 minor_31.csv | 0b1111001111 | isel | A-Form |
563 minor_31.csv | 0b1111101111 | isel | A-Form |
564 """]]
565
566 ## 2R-1W-CRio (RM-1P-2S1D)
567
568 [[!table data="""
569 CSV | opcode | asm | form |
570 minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form |
571 minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form |
572 """]]
573
574 ## 3R-1W-CRo (-)
575
576 [[!table data="""
577 CSV | opcode | asm | form |
578 minor_63h.csv | 0b0111 | fsel | -Form |
579 minor_63h.csv | 0b1100 | fmsub | -Form |
580 minor_63h.csv | 0b1101 | fmadd | -Form |
581 minor_63h.csv | 0b1110 | fnmsub | -Form |
582 minor_63h.csv | 0b1111 | fnmadd | -Form |
583 """]]
584
585 ## 3R-1W-CRio (RM-1P-3S1D)
586
587 [[!table data="""
588 CSV | opcode | asm | form |
589 minor_59.csv | 0b11100 | fmsubs | -Form |
590 minor_59.csv | 0b11101 | fmadds | -Form |
591 minor_59.csv | 0b11110 | fnmsubs | -Form |
592 minor_59.csv | 0b11111 | fnmadds | -Form |
593 """]]
594
595 # svp64 remaps
596 * **LDST-1R-1W-imm**: LDSTRM-2P-1S1D
597 * **LDST-1R-2W-imm**: LDSTRM-2P-1S2D
598 * **LDST-2R-imm**: LDSTRM-2P-2S
599 * **LDST-2R-1W**: LDSTRM-2P-2S1D
600 * **LDST-2R-1W-imm**: LDSTRM-2P-2S1D
601 * **LDST-2R-2W**: LDSTRM-2P-2S1D
602 * **LDST-3R**: LDSTRM-2P-3S
603 * **LDST-3R-CRo**: LDSTRM-2P-3S
604 * **LDST-3R-1W**: LDSTRM-2P-2S1D
605 * **CRo**: -
606 * **CRio**: RM-2P-1S1D
607 * **CR=2R1W**: RM-1P-2S1D
608 * **1W-CRi**: RM-2P-1S1D
609 * **1R-CRo**: RM-2P-1S1D
610 * **1R-CRo**: RM-2P-1S1D
611 * **1R-CRio**: RM-2P-2S1D
612 * **1R-1W**: RM-2P-1S1D
613 * **1R-1W-imm**: RM-2P-1S1D
614 * **1R-1W-CRo**: RM-2P-1S1D
615 * **1R-1W-CRo**: RM-2P-1S1D
616 * **2R-CRo**: RM-1P-2S1D
617 * **2R-1W**: RM-1P-2S1D
618 * **2R-1W-CRo**: RM-1P-2S1D
619 * **2R-1W-CRo**: RM-1P-2S1D
620 * **2R-1W-CRi**: RM-1P-3S1D
621 * **2R-1W-CRio**: RM-1P-2S1D
622 * **3R-1W-CRo**: -
623 * **3R-1W-CRio**: RM-1P-3S1D
624
625 ## LDSTRM-2P-1S1D
626
627 [[!table format=csv file="openpower/isatables/LDSTRM-2P-1S1D.csv"]]
628
629 ## LDSTRM-2P-1S2D
630
631 [[!table format=csv file="openpower/isatables/LDSTRM-2P-1S2D.csv"]]
632
633 ## LDSTRM-2P-2S
634
635 [[!table format=csv file="openpower/isatables/LDSTRM-2P-2S.csv"]]
636
637 ## LDSTRM-2P-2S1D
638
639 [[!table format=csv file="openpower/isatables/LDSTRM-2P-2S1D.csv"]]
640
641 ## LDSTRM-2P-3S
642
643 [[!table format=csv file="openpower/isatables/LDSTRM-2P-3S.csv"]]
644
645 ## -
646
647 [[!table format=csv file="openpower/isatables/-.csv"]]
648
649 ## RM-2P-1S1D
650
651 [[!table format=csv file="openpower/isatables/RM-2P-1S1D.csv"]]
652
653 ## RM-1P-2S1D
654
655 [[!table format=csv file="openpower/isatables/RM-1P-2S1D.csv"]]
656
657 ## RM-2P-2S1D
658
659 [[!table format=csv file="openpower/isatables/RM-2P-2S1D.csv"]]
660
661 ## RM-1P-3S1D
662
663 [[!table format=csv file="openpower/isatables/RM-1P-3S1D.csv"]]
664