From d4c06afdf485e2487b36356db3752f56d9460c45 Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Wed, 31 May 2023 23:30:48 -0700 Subject: [PATCH] make maddsubrs show up in SVP64 generated CSVs --- openpower/isatables/RM-1P-2S1D.csv | 2 ++ src/openpower/sv/sv_analysis.py | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/openpower/isatables/RM-1P-2S1D.csv b/openpower/isatables/RM-1P-2S1D.csv index 5890ef24..a9cb9c2f 100644 --- a/openpower/isatables/RM-1P-2S1D.csv +++ b/openpower/isatables/RM-1P-2S1D.csv @@ -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 diff --git a/src/openpower/sv/sv_analysis.py b/src/openpower/sv/sv_analysis.py index f4e66035..48f88da9 100644 --- a/src/openpower/sv/sv_analysis.py +++ b/src/openpower/sv/sv_analysis.py @@ -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 -- 2.30.2