From: Luke Kenneth Casson Leighton Date: Tue, 29 Dec 2020 14:13:59 +0000 (+0000) Subject: update sv_analysis X-Git-Tag: convert-csv-opcode-to-binary~735 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=39f822f0223e4ffbd47cbd01746c599077c7986e;p=libreriscv.git update sv_analysis --- diff --git a/openpower/isatables/RM-1P-2S1D.csv b/openpower/isatables/RM-1P-2S1D.csv index 0ddf51dc9..3b5639f9f 100644 --- a/openpower/isatables/RM-1P-2S1D.csv +++ b/openpower/isatables/RM-1P-2S1D.csv @@ -80,6 +80,7 @@ divwo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 fdivs,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 fsubs,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 fadds,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fmuls,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1 fdiv,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 fsub,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 fadd,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 @@ -88,6 +89,5 @@ fmul,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1 rlwimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0 rldimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0 rldimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0 -fmuls,1P,EXTRA3,TODO,0,0,0,FRA,0,FRC,FRT,0,CR1 26/6=fmrgow,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,0 30/6=fmrgew,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,0 diff --git a/openpower/isatables/RM-2P-1S1D.csv b/openpower/isatables/RM-2P-1S1D.csv index e8d34b77c..faef81959 100644 --- a/openpower/isatables/RM-2P-1S1D.csv +++ b/openpower/isatables/RM-2P-1S1D.csv @@ -34,6 +34,7 @@ addzeo,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 extsh,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 extsb,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 extsw,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 +fcfid[u]s,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1 fsqrts,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1 fres,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1 frsqrtes,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1 @@ -80,4 +81,3 @@ sradi,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 sradi,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 extswsli,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 extswsli,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -fcfid[u]s,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0 diff --git a/openpower/isatables/minor_59.csv b/openpower/isatables/minor_59.csv index f31ef48d8..48359631c 100644 --- a/openpower/isatables/minor_59.csv +++ b/openpower/isatables/minor_59.csv @@ -1,11 +1,11 @@ opcode,unit,internal op,in1,in2,in3,out,CR in,CR out,inv A,inv out,cry in,cry out,ldst len,BR,sgn ext,upd,rsrv,32b,sgn,rc,lk,sgl pipe,comment,form -0b01110,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fcfid[u]s, +0b01110,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fcfid[u]s, 0b10010,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fdivs, 0b10100,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fsubs, 0b10101,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fadds, 0b10110,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fsqrts, 0b11000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fres, -0b11001,FPU,OP_FPOP,FRA,NONE,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fmuls, +0b11001,FPU,OP_FPOP,FRA,NONE,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fmuls, 0b11010,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,frsqrtes, 0b11100,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fmsubs, 0b11101,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fmadds, diff --git a/openpower/opcode_regs_deduped.mdwn b/openpower/opcode_regs_deduped.mdwn index c29c5a0c6..b9edb6abc 100644 --- a/openpower/opcode_regs_deduped.mdwn +++ b/openpower/opcode_regs_deduped.mdwn @@ -31,7 +31,6 @@ CR=2R1W | RM-1P-2S1D | 1R-1W-imm | RM-2P-1S1D | 1R-1W-CRo | RM-2P-1S1D | 1R-1W-CRo | RM-2P-1S1D | -1R-1W-CRio | RM-2P-1S1D | 2R | non-SV | 2R-CRo | RM-1P-2S1D | 2R-1W | RM-1P-2S1D | @@ -72,7 +71,6 @@ OTHER | 1 | 1 | 0 | 0 | | | 1R-1W | OTHER | 1 | 1 | 0 | 0 | 1 | SI/UI | 1R-1W-imm | OTHER | 1 | 1 | 0 | 1 | | | 1R-1W-CRo | OTHER | 1 | 1 | 0 | 1 | 1 | M1/SH/SH32/SI/UI | 1R-1W-CRo | -OTHER | 1 | 1 | 1 | 1 | | | 1R-1W-CRio | OTHER | 2 | 0 | 0 | 0 | | | 2R | OTHER | 2 | 0 | 0 | 1 | | | 2R-CRo | OTHER | 2 | 1 | 0 | 0 | | | 2R-1W | @@ -357,6 +355,7 @@ minor_31.csv | 0b1011001010 | addzeo | XO-Form | minor_31.csv | 0b1110011010 | extsh | X-Form | minor_31.csv | 0b1110111010 | extsb | X-Form | minor_31.csv | 0b1111011010 | extsw | X-Form | +minor_59.csv | 0b01110 | fcfid[u]s | -Form | minor_59.csv | 0b10110 | fsqrts | -Form | minor_59.csv | 0b11000 | fres | -Form | minor_59.csv | 0b11010 | frsqrtes | -Form | @@ -411,13 +410,6 @@ minor_31.csv | 0b1101111010 | extswsli | XS-Form | minor_31.csv | 0b1101111011 | extswsli | XS-Form | """]] -## 1R-1W-CRio (RM-2P-1S1D) - -[[!table data=""" -CSV | opcode | asm | form | -minor_59.csv | 0b01110 | fcfid[u]s | -Form | -"""]] - ## 2R (non-SV) [[!table data=""" @@ -516,6 +508,7 @@ minor_31.csv | 0b1111101011 | divwo | XO-Form | minor_59.csv | 0b10010 | fdivs | -Form | minor_59.csv | 0b10100 | fsubs | -Form | minor_59.csv | 0b10101 | fadds | -Form | +minor_59.csv | 0b11001 | fmuls | -Form | minor_63h.csv | 0b0010 | fdiv | -Form | minor_63h.csv | 0b0100 | fsub | -Form | minor_63h.csv | 0b0101 | fadd | -Form | @@ -574,7 +567,6 @@ minor_31.csv | 0b1111101111 | isel | A-Form | [[!table data=""" CSV | opcode | asm | form | -minor_59.csv | 0b11001 | fmuls | -Form | minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form | minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form | """]] @@ -621,7 +613,6 @@ minor_59.csv | 0b11111 | fnmadds | -Form | * **1R-1W-imm**: RM-2P-1S1D * **1R-1W-CRo**: RM-2P-1S1D * **1R-1W-CRo**: RM-2P-1S1D -* **1R-1W-CRio**: RM-2P-1S1D * **2R-CRo**: RM-1P-2S1D * **2R-1W**: RM-1P-2S1D * **2R-1W-CRo**: RM-1P-2S1D