From 021bebb754c66c0b0ea0719a79a82f2e803cfe95 Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Wed, 14 Sep 2022 08:33:10 -0700 Subject: [PATCH] fix sv_analysis for fpown and frootn --- openpower/isatables/RM-1P-2S1D.csv | 8 ++++---- src/openpower/sv/sv_analysis.py | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/openpower/isatables/RM-1P-2S1D.csv b/openpower/isatables/RM-1P-2S1D.csv index f5aeac94..bf67e49f 100644 --- a/openpower/isatables/RM-1P-2S1D.csv +++ b/openpower/isatables/RM-1P-2S1D.csv @@ -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 diff --git a/src/openpower/sv/sv_analysis.py b/src/openpower/sv/sv_analysis.py index 7f9e7a49..135ce865 100644 --- a/src/openpower/sv/sv_analysis.py +++ b/src/openpower/sv/sv_analysis.py @@ -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 -- 2.30.2