updating sv_analys.py svp64 table
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 24 Dec 2020 00:16:55 +0000 (00:16 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 24 Dec 2020 00:16:55 +0000 (00:16 +0000)
openpower/opcode_regs_deduped.mdwn
openpower/sv_analysis.py

index 8aa74e4708e09299af62738de2d1bcea6fcd0d43..9fc9336afb54c23b3ce71c2bab5b9d0d15e252f7 100644 (file)
@@ -779,11 +779,11 @@ darn | 2P | EXTRA2 | TODO |  |  |  |  |  | RT |  |  |  |
 [[!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 |
 """]]
 
@@ -794,10 +794,10 @@ insn | Ptype | Etype | 0 | 1 | 2 | 3 |
 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 |
 """]]
 
@@ -805,17 +805,17 @@ 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)
@@ -823,25 +823,25 @@ extsw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA |  |  | RS | NONE | NONE | RA | NONE | C
 [[!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)
index 7d203bc7b3cdc9258792d93beef71d9a286a8a60..2531f2252bde6c5d33e59bd22a473d3dc23a8c82 100644 (file)
@@ -427,12 +427,13 @@ def process_csvs():
                 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'