fix sv_analysis for fpown and frootn
authorJacob Lifshay <programmerjake@gmail.com>
Wed, 14 Sep 2022 15:33:10 +0000 (08:33 -0700)
committerJacob Lifshay <programmerjake@gmail.com>
Wed, 14 Sep 2022 15:33:10 +0000 (08:33 -0700)
openpower/isatables/RM-1P-2S1D.csv
src/openpower/sv/sv_analysis.py

index f5aeac9416843e824a376036e0aaed8cf5f9f0b1..bf67e49f0cbe1002ca5f47c3015a6a50b6882903 100644 (file)
@@ -109,8 +109,8 @@ fmaxcs,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fminmagnum08s,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fmaxmagnum08s,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fmods,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
-fpowns,NORMAL,,1P,EXTRA3,TODO,0,0,0,FRA,RB,0,FRT,0,CR1,0
-frootns,NORMAL,,1P,EXTRA3,TODO,0,0,0,FRA,RB,0,FRT,0,CR1,0
+fpowns,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:RB,0,FRA,RB,0,FRT,0,CR1,0
+frootns,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:RB,0,FRA,RB,0,FRT,0,CR1,0
 fminmag19s,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fmaxmag19s,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fminmagnum19s,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
@@ -140,8 +140,8 @@ fmaxc,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fminmagnum08,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fmaxmagnum08,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fmod,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
-fpown,NORMAL,,1P,EXTRA3,TODO,0,0,0,FRA,RB,0,FRT,0,CR1,0
-frootn,NORMAL,,1P,EXTRA3,TODO,0,0,0,FRA,RB,0,FRT,0,CR1,0
+fpown,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:RB,0,FRA,RB,0,FRT,0,CR1,0
+frootn,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:RB,0,FRA,RB,0,FRT,0,CR1,0
 fminmag19,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fmaxmag19,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
 fminmagnum19,NORMAL,,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1,0
index 7f9e7a49557fe346b1409bd2041f2cbe005bd051..135ce865e85386ac22a369b08fb8c94532338b04 100644 (file)
@@ -549,6 +549,10 @@ def extra_classifier(insn_name, value, name, res, regs):
             res['0'] = 'd:FRT;d:CR1'  # FRT,CR1: Rdest1_EXTRA3
             res['1'] = 's:FRA'  # FRA: Rsrc1_EXTRA3
             res['2'] = 's:FRB'  # FRB: Rsrc1_EXTRA3
+        elif regs == ['FRA', 'RB', '', 'FRT', '', 'CR1']:
+            res['0'] = 'd:FRT;d:CR1'  # FRT,CR1: Rdest1_EXTRA3
+            res['1'] = 's:FRA'  # FRA: Rsrc1_EXTRA3
+            res['2'] = 's:RB'  # RB: Rsrc1_EXTRA3
         elif name == '2R-1W' or insn_name == 'cmpb':  # cmpb
             if insn_name in ['bpermd', 'cmpb']:
                 res['0'] = 'd:RA'  # RA: Rdest1_EXTRA3