make maddsubrs show up in SVP64 generated CSVs
authorJacob Lifshay <programmerjake@gmail.com>
Thu, 1 Jun 2023 06:30:48 +0000 (23:30 -0700)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 2 Jun 2023 18:51:19 +0000 (19:51 +0100)
openpower/isatables/RM-1P-2S1D.csv
src/openpower/sv/sv_analysis.py

index 5890ef24f6cfc3f7ef39ca0598ab75493d1f8690..a9cb9c2f3027c1f3dac2f080b98162a47dd2b472 100644 (file)
@@ -24,6 +24,8 @@ modsd,NORMAL,,1P,EXTRA3,NO,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0,0
 modsw,NORMAL,,1P,EXTRA3,NO,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0,0
 26/6=fmrgow,NORMAL,,1P,EXTRA3,NO,d:FRT,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,0,0
 30/6=fmrgew,NORMAL,,1P,EXTRA3,NO,d:FRT,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,0,0
+maddsubrs,NORMAL,,1P,EXTRA3,NO,s:RT;d:RT,s:RA,s:RB,0,RA,0,RB,RT,0,0,0
+maddrs,NORMAL,,1P,EXTRA3,NO,s:RT;d:RT,s:RA,s:RB,0,RA,0,RB,RT,0,0,0
 rlwnm,NORMAL,,1P,EXTRA3,NO,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0,0
 minmax,NORMAL,,1P,EXTRA3,NO,d:RT;d:CR0,s:RA,s:RB,0,RA_OR_ZERO,RB,0,RT,0,CR0,0
 sadd,NORMAL,,1P,EXTRA3,NO,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0,0
index f4e660352f7c2a9cd5ee1d2e6d4d71b9d4ecd424..48f88da9a5e8456dc4fc05167f418b250fb27dd5 100644 (file)
@@ -587,6 +587,10 @@ def extra_classifier(insn_name, value, name, res, regs):
             res['0'] = 'd:RA;d:CR0'  # RA,CR0: Rdest1_EXTRA3
             res['1'] = 's:RA'  # RA: Rsrc1_EXTRA3
             res['2'] = 's:RS'  # RS: Rsrc1_EXTRA3
+        elif regs == ['RA', '', 'RB', 'RT', '', '']:  # maddsubrs
+            res['0'] = 's:RT;d:RT'  # RT: Rdest1_EXTRA2
+            res['1'] = 's:RA'  # RA: Rsrc1_EXTRA2
+            res['2'] = 's:RB'  # RT: Rsrc2_EXTRA2
         else:
             res['0'] = 'TODO'
 
@@ -619,10 +623,6 @@ def extra_classifier(insn_name, value, name, res, regs):
             res['0'] = 's:RT;d:RT;d:CR0'  # RT,CR0: Rdest1_EXTRA2
             res['1'] = 's:RA'  # RA: Rsrc1_EXTRA2
             res['2'] = 's:RB'  # RT: Rsrc2_EXTRA2
-        elif regs == ['RA', 'RB', 'RT', 'RT', '', '']:  # maddsubrs
-            res['0'] = 's:RT;d:RT'  # RT: Rdest1_EXTRA2
-            res['1'] = 's:RA'  # RA: Rsrc1_EXTRA2
-            res['2'] = 's:RB'  # RT: Rsrc2_EXTRA2
         elif insn_name == 'isel':
             res['0'] = 'd:RT'  # RT: Rdest1_EXTRA2
             res['1'] = 's:RA'  # RA: Rsrc1_EXTRA2