LDST-3R-1W | LDSTRM-2P-2S1D |
| non-SV |
imm | non-SV |
-CRi | non-SV |
-CRi | non-SV |
+CRo | - |
CRio | RM-2P-1S1D |
CR=2R1W | RM-1P-2S1D |
1W | non-SV |
1R | non-SV |
1R-imm | non-SV |
1R-CRo | RM-2P-1S1D |
+1R-CRo | RM-2P-1S1D |
1R-CRio | RM-2P-2S1D |
1R-1W | RM-2P-1S1D |
1R-1W-imm | RM-2P-1S1D |
1R-1W-CRo | RM-2P-1S1D |
1R-1W-CRo | RM-2P-1S1D |
-1R-1W-CRio | RM-2P-1S1D |
2R | non-SV |
2R-CRo | RM-1P-2S1D |
-2R-CRio | RM-1P-2S1D |
2R-1W | RM-1P-2S1D |
2R-1W-CRo | RM-1P-2S1D |
2R-1W-CRo | RM-1P-2S1D |
2R-1W-CRi | RM-1P-3S1D |
-2R-1W-CRio | RM-1P-2S1D |
+3R-1W-CRo | - |
3R-1W-CRio | RM-1P-3S1D |
"""]]
LDST | 3 | 1 | 0 | 0 | | | LDST-3R-1W |
OTHER | 0 | 0 | 0 | 0 | | | |
OTHER | 0 | 0 | 0 | 0 | 1 | LI | imm |
-OTHER | 0 | 0 | 1 | 0 | | | CRi |
-OTHER | 0 | 0 | 1 | 0 | 1 | BD | CRi |
+OTHER | 0 | 0 | 0 | 1 | | | CRo |
OTHER | 0 | 0 | 1 | 1 | | | CRio |
OTHER | 0 | 0 | 1 | 1 | 1 | | | CR=2R1W |
OTHER | 0 | 1 | 0 | 0 | | | 1W |
OTHER | 0 | 1 | 1 | 0 | | | 1W-CRi |
OTHER | 1 | 0 | 0 | 0 | | | 1R |
OTHER | 1 | 0 | 0 | 0 | 1 | SI | 1R-imm |
+OTHER | 1 | 0 | 0 | 1 | | | 1R-CRo |
OTHER | 1 | 0 | 0 | 1 | 1 | SI/UI | 1R-CRo |
OTHER | 1 | 0 | 1 | 1 | | | 1R-CRio |
OTHER | 1 | 1 | 0 | 0 | | | 1R-1W |
OTHER | 1 | 1 | 0 | 0 | 1 | SI/UI | 1R-1W-imm |
OTHER | 1 | 1 | 0 | 1 | | | 1R-1W-CRo |
OTHER | 1 | 1 | 0 | 1 | 1 | M1/SH/SH32/SI/UI | 1R-1W-CRo |
-OTHER | 1 | 1 | 1 | 1 | | | 1R-1W-CRio |
OTHER | 2 | 0 | 0 | 0 | | | 2R |
OTHER | 2 | 0 | 0 | 1 | | | 2R-CRo |
-OTHER | 2 | 0 | 1 | 1 | | | 2R-CRio |
OTHER | 2 | 1 | 0 | 0 | | | 2R-1W |
OTHER | 2 | 1 | 0 | 1 | | | 2R-1W-CRo |
OTHER | 2 | 1 | 0 | 1 | 1 | SH/SH32 | 2R-1W-CRo |
OTHER | 2 | 1 | 1 | 0 | | | 2R-1W-CRi |
-OTHER | 2 | 1 | 1 | 1 | | | 2R-1W-CRio |
+OTHER | 3 | 1 | 0 | 1 | | | 3R-1W-CRo |
OTHER | 3 | 1 | 1 | 1 | | | 3R-1W-CRio |
"""]]
extra.csv | 000000---------------0100000000- | attn | NONE-Form |
extra.csv | 01100000000000000000000000000000 | nop | D-Form |
major.csv | 17 | sc | SC-Form |
-minor_19.csv | 0b0000010010 | rfid | XL-Form |
minor_19.csv | 0b0010010110 | isync | XL-Form |
-minor_19.csv | 0b0100010010 | hrfid | XL-Form |
minor_19_00000.csv | 0b00010 | add pcis not implemented yet | DX-Form |
minor_31.csv | 0b0000010110 | icbt | X-Form |
minor_31.csv | 0b0000110110 | dcbst | X-Form |
major.csv | 18 | b | I-Form |
"""]]
-## CRi (non-SV)
-
-[[!table data="""
-CSV | opcode | asm | form |
-minor_19.csv | 0b0000010000 | bclr | XL-Form |
-minor_19.csv | 0b1000010000 | bcctr | XL-Form |
-minor_19.csv | 0b1000110000 | bctar | XL-Form |
-"""]]
-
-## CRi (non-SV)
+## CRo (-)
[[!table data="""
CSV | opcode | asm | form |
-major.csv | 16 | bc | B-Form |
+minor_63l.csv | 0b000000010 | 2/0=mcrfs | -Form |
+minor_63l.csv | 0b011000001 | 1/6=mtfsb1 | -Form |
+minor_63l.csv | 0b011000010 | 2/6=mtfsb0 | -Form |
+minor_63l.csv | 0b011000100 | 4/6=mtfsfi | -Form |
"""]]
## CRio (RM-2P-1S1D)
[[!table data="""
CSV | opcode | asm | form |
minor_19.csv | 0b0000000000 | mcrf | XL-Form |
-minor_63l.csv | 0b000000010 | 2/0=mcrfs | -Form |
-minor_63l.csv | 0b011000001 | 1/6=mtfsb1 | -Form |
-minor_63l.csv | 0b011000010 | 2/6=mtfsb0 | -Form |
-minor_63l.csv | 0b011000100 | 4/6=mtfsfi | -Form |
"""]]
## CR=2R1W (RM-1P-2S1D)
CSV | opcode | asm | form |
extra.csv | 000001---------------0000000011- | sim_cfg | NONE-Form |
minor_31.csv | 0b0001010011 | mfmsr | X-Form |
-minor_31.csv | 0b0101010011 | mfspr | XFX-Form |
"""]]
## 1W-CRi (RM-2P-1S1D)
minor_31.csv | 0b0010110010 | mtmsrd | X-Form |
minor_31.csv | 0b0100010010 | tlbiel | X-Form |
minor_31.csv | 0b0100110010 | tlbie | X-Form |
-minor_31.csv | 0b0111010011 | mtspr | XFX-Form |
"""]]
## 1R-imm (non-SV)
## 1R-CRo (RM-2P-1S1D)
+[[!table data="""
+CSV | opcode | asm | form |
+minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form |
+minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form |
+"""]]
+
+## 1R-CRo (RM-2P-1S1D)
+
[[!table data="""
CSV | opcode | asm | form |
major.csv | 10 | cmpli | D-Form |
[[!table data="""
CSV | opcode | asm | form |
minor_31.csv | 0b0010010000 | mtcrf/mtocrf | XFX-Form |
-minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form |
-minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form |
"""]]
## 1R-1W (RM-2P-1S1D)
minor_31.csv | 0b0001111010 | popcntb | X-Form |
minor_31.csv | 0b0010011010 | prtyw | X-Form |
minor_31.csv | 0b0010111010 | prtyd | X-Form |
+minor_31.csv | 0b0101010011 | mfspr | XFX-Form |
minor_31.csv | 0b0101111010 | popcntw | X-Form |
+minor_31.csv | 0b0111010011 | mtspr | XFX-Form |
minor_31.csv | 0b0111111010 | popcntd | X-Form |
minor_31.csv | 0b1001101000 | nego | XO-Form |
"""]]
minor_31.csv | 0b1110011010 | extsh | X-Form |
minor_31.csv | 0b1110111010 | extsb | X-Form |
minor_31.csv | 0b1111011010 | extsw | X-Form |
-"""]]
-
-## 1R-1W-CRo (RM-2P-1S1D)
-
-[[!table data="""
-CSV | opcode | asm | form |
-major.csv | 13 | addic. | D-Form |
-major.csv | 21 | rlwinm | M-Form |
-major.csv | 28 | andi. | B-Form |
-major.csv | 29 | andis. | B-Form |
-major.csv | 7 | mulli | D-Form |
-minor_30.csv | 0b0000 | rldicl | MDS-Form |
-minor_30.csv | 0b0001 | rldicl | MDS-Form |
-minor_30.csv | 0b0010 | rldicr | MD-Form |
-minor_30.csv | 0b0011 | rldicr | MD-Form |
-minor_30.csv | 0b0100 | rldic | MD-Form |
-minor_30.csv | 0b0101 | rldic | MD-Form |
-minor_31.csv | 0b0011101000 | subfme | XO-Form |
-minor_31.csv | 0b0011101010 | addme | XO-Form |
-minor_31.csv | 0b1011101000 | subfmeo | XO-Form |
-minor_31.csv | 0b1011101010 | addmeo | XO-Form |
-minor_31.csv | 0b1100111000 | srawi | X-Form |
-minor_31.csv | 0b1100111010 | sradi | XS-Form |
-minor_31.csv | 0b1100111011 | sradi | XS-Form |
-minor_31.csv | 0b1101111010 | extswsli | XS-Form |
-minor_31.csv | 0b1101111011 | extswsli | XS-Form |
-"""]]
-
-## 1R-1W-CRio (RM-2P-1S1D)
-
-[[!table data="""
-CSV | opcode | asm | form |
minor_59.csv | 0b01110 | fcfid[u]s | -Form |
minor_59.csv | 0b10110 | fsqrts | -Form |
minor_59.csv | 0b11000 | fres | -Form |
minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form |
"""]]
+## 1R-1W-CRo (RM-2P-1S1D)
+
+[[!table data="""
+CSV | opcode | asm | form |
+major.csv | 13 | addic. | D-Form |
+major.csv | 21 | rlwinm | M-Form |
+major.csv | 28 | andi. | B-Form |
+major.csv | 29 | andis. | B-Form |
+major.csv | 7 | mulli | D-Form |
+minor_30.csv | 0b0000 | rldicl | MDS-Form |
+minor_30.csv | 0b0001 | rldicl | MDS-Form |
+minor_30.csv | 0b0010 | rldicr | MD-Form |
+minor_30.csv | 0b0011 | rldicr | MD-Form |
+minor_30.csv | 0b0100 | rldic | MD-Form |
+minor_30.csv | 0b0101 | rldic | MD-Form |
+minor_31.csv | 0b0011101000 | subfme | XO-Form |
+minor_31.csv | 0b0011101010 | addme | XO-Form |
+minor_31.csv | 0b1011101000 | subfmeo | XO-Form |
+minor_31.csv | 0b1011101010 | addmeo | XO-Form |
+minor_31.csv | 0b1100111000 | srawi | X-Form |
+minor_31.csv | 0b1100111010 | sradi | XS-Form |
+minor_31.csv | 0b1100111011 | sradi | XS-Form |
+minor_31.csv | 0b1101111010 | extswsli | XS-Form |
+minor_31.csv | 0b1101111011 | extswsli | XS-Form |
+"""]]
+
## 2R (non-SV)
[[!table data="""
minor_31.csv | 0b0000100000 | cmpl | X-Form |
minor_31.csv | 0b0011000000 | cmprb | X-Form |
minor_31.csv | 0b0011100000 | cmpeqb | X-Form |
-"""]]
-
-## 2R-CRio (RM-1P-2S1D)
-
-[[!table data="""
-CSV | opcode | asm | form |
minor_63l.csv | 0b000000000 | 0/0=fcmpu | -Form |
minor_63l.csv | 0b000000001 | 1/0=fcmpo | -Form |
minor_63l.csv | 0b000000100 | 4/0=ftdiv | -Form |
minor_31.csv | 0b0111111100 | cmpb | X-Form |
minor_31.csv | 0b1100001001 | modsd | X-Form |
minor_31.csv | 0b1100001011 | modsw | X-Form |
+minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form |
+minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form |
"""]]
## 2R-1W-CRo (RM-1P-2S1D)
minor_31.csv | 0b1111001011 | divwuo | XO-Form |
minor_31.csv | 0b1111101001 | divdo | XO-Form |
minor_31.csv | 0b1111101011 | divwo | XO-Form |
+minor_59.csv | 0b10010 | fdivs | -Form |
+minor_59.csv | 0b10100 | fsubs | -Form |
+minor_59.csv | 0b10101 | fadds | -Form |
+minor_59.csv | 0b11001 | fmuls | -Form |
+minor_63h.csv | 0b0010 | fdiv | -Form |
+minor_63h.csv | 0b0100 | fsub | -Form |
+minor_63h.csv | 0b0101 | fadd | -Form |
+minor_63h.csv | 0b1001 | fmul | -Form |
+minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form |
"""]]
## 2R-1W-CRo (RM-1P-2S1D)
minor_31.csv | 0b1111101111 | isel | A-Form |
"""]]
-## 2R-1W-CRio (RM-1P-2S1D)
+## 3R-1W-CRo (-)
[[!table data="""
CSV | opcode | asm | form |
-minor_59.csv | 0b10010 | fdivs | -Form |
-minor_59.csv | 0b10100 | fsubs | -Form |
-minor_59.csv | 0b10101 | fadds | -Form |
-minor_59.csv | 0b11001 | fmuls | -Form |
-minor_63h.csv | 0b0010 | fdiv | -Form |
-minor_63h.csv | 0b0100 | fsub | -Form |
-minor_63h.csv | 0b0101 | fadd | -Form |
-minor_63h.csv | 0b1001 | fmul | -Form |
-minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form |
-minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form |
-minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form |
+minor_63h.csv | 0b0111 | fsel | -Form |
+minor_63h.csv | 0b1100 | fmsub | -Form |
+minor_63h.csv | 0b1101 | fmadd | -Form |
+minor_63h.csv | 0b1110 | fnmsub | -Form |
+minor_63h.csv | 0b1111 | fnmadd | -Form |
"""]]
## 3R-1W-CRio (RM-1P-3S1D)
minor_59.csv | 0b11101 | fmadds | -Form |
minor_59.csv | 0b11110 | fnmsubs | -Form |
minor_59.csv | 0b11111 | fnmadds | -Form |
-minor_63h.csv | 0b0111 | fsel | -Form |
-minor_63h.csv | 0b1100 | fmsub | -Form |
-minor_63h.csv | 0b1101 | fmadd | -Form |
-minor_63h.csv | 0b1110 | fnmsub | -Form |
-minor_63h.csv | 0b1111 | fnmadd | -Form |
"""]]
# svp64 remaps
* **LDST-3R**: LDSTRM-2P-3S
* **LDST-3R-CRo**: LDSTRM-2P-3S
* **LDST-3R-1W**: LDSTRM-2P-2S1D
+* **CRo**: -
* **CRio**: RM-2P-1S1D
* **CR=2R1W**: RM-1P-2S1D
* **1W-CRi**: RM-2P-1S1D
* **1R-CRo**: RM-2P-1S1D
+* **1R-CRo**: RM-2P-1S1D
* **1R-CRio**: RM-2P-2S1D
* **1R-1W**: RM-2P-1S1D
* **1R-1W-imm**: RM-2P-1S1D
* **1R-1W-CRo**: RM-2P-1S1D
* **1R-1W-CRo**: RM-2P-1S1D
-* **1R-1W-CRio**: RM-2P-1S1D
* **2R-CRo**: RM-1P-2S1D
-* **2R-CRio**: RM-1P-2S1D
* **2R-1W**: RM-1P-2S1D
* **2R-1W-CRo**: RM-1P-2S1D
* **2R-1W-CRo**: RM-1P-2S1D
* **2R-1W-CRi**: RM-1P-3S1D
-* **2R-1W-CRio**: RM-1P-2S1D
+* **3R-1W-CRo**: -
* **3R-1W-CRio**: RM-1P-3S1D
+
## LDSTRM-2P-1S1D
[[!table format=csv file="openpower/isatables/LDSTRM-2P-1S1D.csv"]]
[[!table format=csv file="openpower/isatables/LDSTRM-2P-3S.csv"]]
+## -
+
+[[!table format=csv file="openpower/isatables/-.csv"]]
+
## RM-2P-1S1D
[[!table format=csv file="openpower/isatables/RM-2P-1S1D.csv"]]