[[!table data="""
insn | Ptype | Etype | 0 | 1 | 2 | 3 |
neg | 2P | EXTRA3 | d:RT | s:RA | | | RA | NONE | NONE | RT | NONE | NONE |
-popcntb | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE |
-prtyw | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE |
-prtyd | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE |
-popcntw | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE |
-popcntd | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE |
+popcntb | 2P | EXTRA3 | d:RA | s:RS | | | RS | NONE | NONE | RA | NONE | NONE |
+prtyw | 2P | EXTRA3 | d:RA | s:RS | | | RS | NONE | NONE | RA | NONE | NONE |
+prtyd | 2P | EXTRA3 | d:RA | s:RS | | | RS | NONE | NONE | RA | NONE | NONE |
+popcntw | 2P | EXTRA3 | d:RA | s:RS | | | RS | NONE | NONE | RA | NONE | NONE |
+popcntd | 2P | EXTRA3 | d:RA | s:RS | | | RS | NONE | NONE | RA | NONE | NONE |
nego | 2P | EXTRA3 | d:RT | s:RA | | | RA | NONE | NONE | RT | NONE | NONE |
"""]]
addic | 2P | EXTRA3 | d:RT | s:RA | | | RA | | NONE | RT | NONE | NONE |
addi | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE |
addis | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE |
-ori | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE |
-oris | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE |
-xori | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE |
-xoris | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE |
+ori | 2P | EXTRA3 | d:RA | s:RS | | | RS | | NONE | RA | NONE | NONE |
+oris | 2P | EXTRA3 | d:RA | s:RS | | | RS | | NONE | RA | NONE | NONE |
+xori | 2P | EXTRA3 | d:RA | s:RS | | | RS | | NONE | RA | NONE | NONE |
+xoris | 2P | EXTRA3 | d:RA | s:RS | | | RS | | NONE | RA | NONE | NONE |
subfic | 2P | EXTRA3 | d:RT | s:RA | | | RA | | NONE | RT | NONE | NONE |
"""]]
[[!table data="""
insn | Ptype | Etype | 0 | 1 | 2 | 3 |
-cntlzw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
-cntlzd | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
+cntlzw | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
+cntlzd | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
subfze | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 |
addze | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 |
-cnttzw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
-cnttzd | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
+cnttzw | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
+cnttzd | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
subfzeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 |
addzeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 |
-extsh | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
-extsb | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
-extsw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 |
+extsh | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
+extsb | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
+extsw | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | NONE | NONE | RA | NONE | CR0 |
"""]]
## 1R-1W-CRo (RM-2P-1S1D)
[[!table data="""
insn | Ptype | Etype | 0 | 1 | 2 | 3 |
addic. | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 |
-rlwinm | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-andi. | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | | NONE | RA | NONE | CR0 |
-andis. | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | | NONE | RA | NONE | CR0 |
+rlwinm | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+andi. | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | | NONE | RA | NONE | CR0 |
+andis. | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | RS | | NONE | RA | NONE | CR0 |
mulli | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 |
-rldicl | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-rldicl | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-rldicr | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-rldicr | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-rldic | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-rldic | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
+rldicl | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+rldicl | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+rldicr | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+rldicr | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+rldic | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+rldic | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
subfme | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 |
addme | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 |
subfmeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 |
addmeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 |
-srawi | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-sradi | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-sradi | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-extswsli | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
-extswsli | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 |
+srawi | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+sradi | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+sradi | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+extswsli | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
+extswsli | 2P | EXTRA3 | d:RA,d:CR0 | s:RS | | | NONE | | RS | RA | NONE | CR0 |
"""]]
## 1R-1W-CRio (RM-2P-1S1D)
elif regs == ['RA','','','RT','','CR0']:
res['0'] = 'd:RT,d:CR0' # RT,CR0: Rdest1_EXTRA3
res['1'] = 's:RA' # RA: Rsrc1_EXTRA3
- elif regs == ['RS','','','RA','','CR0']:
- res['0'] = 'd:RS,d:CR0' # RS,CR0: Rdest1_EXTRA3
- res['1'] = 's:RA' # RA: Rsrc1_EXTRA3
+ elif (regs == ['RS','','','RA','','CR0'] or
+ regs == ['','','RS','RA','','CR0']):
+ res['0'] = 'd:RA,d:CR0' # RA,CR0: Rdest1_EXTRA3
+ res['1'] = 's:RS' # RS: Rsrc1_EXTRA3
elif regs == ['RS','','','RA','','']:
- res['0'] = 'd:RS' # RS: Rdest1_EXTRA3
- res['1'] = 's:RA' # RA: Rsrc1_EXTRA3
+ res['0'] = 'd:RA' # RA: Rdest1_EXTRA3
+ res['1'] = 's:RS' # RS: Rsrc1_EXTRA3
else:
res['0'] = 'TODO'