update sv_analysis
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 29 Dec 2020 14:22:00 +0000 (14:22 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 29 Dec 2020 14:22:00 +0000 (14:22 +0000)
openpower/isatables/RM-1P-2S1D.csv
openpower/isatables/minor_63l.csv
openpower/opcode_regs_deduped.mdwn
openpower/sv_analysis.py

index 3b5639f9f88dba9e05b568ab3343e549b8ddf483..6a702118bace236a725533b046a83ca8f50691ab 100644 (file)
@@ -20,6 +20,8 @@ moduw,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0
 cmpb,1P,EXTRA3,d:RA,s:RS,s:RB,0,RS,RB,0,RA,0,0
 modsd,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0
 modsw,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0
+26/6=fmrgow,1P,EXTRA3,d:FRT,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,0
+30/6=fmrgew,1P,EXTRA3,d:FRT,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,0
 rlwnm,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0
 rldcl,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0
 rldcr,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0
@@ -89,5 +91,3 @@ fmul,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1
 rlwimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0
 rldimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0
 rldimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0
-26/6=fmrgow,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,0
-30/6=fmrgew,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,0
index 5313a3311fd1a7f28af2afafc43589bc7f2b1129..580e2081902dccb8a5c5e7c801f61d46036a502e 100644 (file)
@@ -7,8 +7,8 @@ opcode,unit,internal op,in1,in2,in3,out,CR in,CR out,inv A,inv out,cry in,cry ou
 0b011000001,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,1/6=mtfsb1,
 0b011000010,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,2/6=mtfsb0,
 0b011000100,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/6=mtfsfi,
-0b011011010,FPU,OP_FPOP_I,FRA,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,26/6=fmrgow,
-0b011011110,FPU,OP_FPOP_I,FRA,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,30/6=fmrgew,
+0b011011010,FPU,OP_FPOP_I,FRA,FRB,NONE,FRT,NONE,NONE,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,26/6=fmrgow,
+0b011011110,FPU,OP_FPOP_I,FRA,FRB,NONE,FRT,NONE,NONE,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,30/6=fmrgew,
 0b011110010,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,18/7=mffsfamily,
 0b011110110,FPU,OP_FPOP_I,NONE,FRB,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,22/7=mtfsf,
 0b100000000,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/8=fcpsgn,
index b9edb6abcffebe69b19b4b60c3335d4ce3b44ebb..dcb3bcdebcd154860b2c34d7d161d65becb4da3f 100644 (file)
@@ -37,7 +37,6 @@ CR=2R1W | 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  |
 """]]
@@ -77,7 +76,6 @@ 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 |
 """]]
@@ -442,6 +440,8 @@ minor_31.csv | 0b0100001011 | moduw | X-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)
@@ -563,14 +563,6 @@ minor_31.csv | 0b1111001111 | isel | A-Form |
 minor_31.csv | 0b1111101111 | isel | A-Form |
 """]]
 
-## 2R-1W-CRio (RM-1P-2S1D)
-
-[[!table  data="""
-CSV | opcode | asm | form |
-minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form |
-minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form |
-"""]]
-
 ## 3R-1W-CRo (-)
 
 [[!table  data="""
@@ -618,7 +610,6 @@ minor_59.csv | 0b11111 | fnmadds | -Form |
 * **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
 
index b354bb3fceb3b0ab0b26eaa0f584767f9d47b7ec..487602312b0680fd6820017bb1a15d2f147345e1 100644 (file)
@@ -479,6 +479,10 @@ def process_csvs():
                     res['0'] = 'd:BF' # BF: Rdest1_EXTRA3
                     res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3
                     res['2'] = 's:FRB' # FRB: Rsrc1_EXTRA3
+                elif regs == ['FRA','FRB','','FRT','','']:
+                    res['0'] = 'd:FRT' # FRT: Rdest1_EXTRA3
+                    res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3
+                    res['2'] = 's:FRB' # FRB: Rsrc1_EXTRA3
                 elif regs == ['FRA','FRB','','FRT','','CR1']:
                     res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3
                     res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3