From 0f54876f1ee427ed0a3223f253b8c7c8572448fd Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 23 Dec 2020 15:54:22 +0000 Subject: [PATCH] start filling in svp64 insns --- openpower/opcode_regs_deduped.mdwn | 82 +++++++++++++++--------------- openpower/sv_analysis.py | 14 +++++ 2 files changed, 55 insertions(+), 41 deletions(-) diff --git a/openpower/opcode_regs_deduped.mdwn b/openpower/opcode_regs_deduped.mdwn index 97d1698a7..953a0f539 100644 --- a/openpower/opcode_regs_deduped.mdwn +++ b/openpower/opcode_regs_deduped.mdwn @@ -988,38 +988,38 @@ rldimi | 1P | EXTRA3 | TODO | | | | RA | | RS | RA | NONE | CR0 | [[!table data=""" insn | Ptype | Etype | 0 | 1 | 2 | 3 | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | | | | | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | """]] ## 2R-1W-CRio (RM-1P-2S1D) @@ -1043,14 +1043,14 @@ fmul | 1P | EXTRA3 | TODO | | | | FRA | NONE | FRC | FRT | 0 | 0 | [[!table data=""" insn | Ptype | Etype | 0 | 1 | 2 | 3 | -fmsubs | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fmadds | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fnmsubs | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fnmadds | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fsel | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fmsub | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fmadd | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fnmsub | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | -fnmadd | 1P | EXTRA2 | | | | | FRA | FRB | FRC | FRT | 0 | 0 | +fmsubs | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fmadds | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fnmsubs | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fnmadds | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fsel | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fmsub | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fmadd | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fnmsub | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | +fnmadd | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | """]] diff --git a/openpower/sv_analysis.py b/openpower/sv_analysis.py index 7e52f2273..63a0580f8 100644 --- a/openpower/sv_analysis.py +++ b/openpower/sv_analysis.py @@ -435,6 +435,20 @@ def process_csvs(): else: res['0'] = 'TODO' + elif value == 'RM-1P-3S1D': + res['Etype'] = 'EXTRA2' # RM EXTRA2 type + if insn_name == 'isel': + res['0'] = 'd:RT' # RT: Rdest1_EXTRA2 + res['1'] = 's:RA' # RA: Rsrc1_EXTRA2 + res['2'] = 's:RB' # RT: Rsrc2_EXTRA2 + res['3'] = 's:BC' # BC: Rsrc3_EXTRA2 + else: + res['0'] = 'd:FRT,d:CR1' # FRT, CR1: Rdest1_EXTRA2 + res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA2 + res['2'] = 's:FRB' # FRB: Rsrc2_EXTRA2 + res['3'] = 's:FRC' # FRC: Rsrc3_EXTRA2 + + # print out the row print (tformat(res.values())) # add to svp64 csvs -- 2.30.2