update sv_analysis
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 29 Dec 2020 14:05:52 +0000 (14:05 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 29 Dec 2020 14:05:52 +0000 (14:05 +0000)
openpower/isatables/RM-1P-2S1D.csv
openpower/isatables/RM-1P-3S1D.csv
openpower/isatables/RM-2P-1S1D.csv
openpower/isatables/RM-2P-2S1D.csv
openpower/isatables/minor_63h.csv
openpower/isatables/minor_63l.csv
openpower/opcode_regs_deduped.mdwn
openpower/sv_analysis.py

index 4932483f1466b085f8f574389587c19e567d06ef..669286f740bbb1c2144324ec2d380c606b9a0fc7 100644 (file)
@@ -11,9 +11,9 @@ cmp,1P,EXTRA3,d:BF,s:RA,s:RB,0,RA,RB,0,0,0,BF
 cmpl,1P,EXTRA3,d:BF,s:RA,s:RB,0,RA,RB,0,0,0,BF
 cmprb,1P,EXTRA3,d:BF,s:RA,s:RB,0,RA,RB,0,0,0,BF
 cmpeqb,1P,EXTRA3,d:BF,s:RA,s:RB,0,RA,RB,0,0,0,BF
-0/0=fcmpu,1P,EXTRA3,d:BF,s:FRA,s:FRB,0,FRA,FRB,0,0,0,1
-1/0=fcmpo,1P,EXTRA3,d:BF,s:FRA,s:FRB,0,FRA,FRB,0,0,0,1
-4/0=ftdiv,1P,EXTRA3,d:BF,s:FRA,s:FRB,0,FRA,FRB,0,0,0,1
+0/0=fcmpu,1P,EXTRA3,d:BF,s:FRA,s:FRB,0,FRA,FRB,0,0,0,BF
+1/0=fcmpo,1P,EXTRA3,d:BF,s:FRA,s:FRB,0,FRA,FRB,0,0,0,BF
+4/0=ftdiv,1P,EXTRA3,d:BF,s:FRA,s:FRB,0,FRA,FRB,0,0,0,BF
 bpermd,1P,EXTRA3,d:RA,s:RS,s:RB,0,RS,RB,0,RA,0,0
 modud,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0
 moduw,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0
@@ -77,17 +77,17 @@ divduo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0
 divwuo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0
 divdo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0
 divwo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0
-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
-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
 fmul,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1
+0/8=fcpsgn,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,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
+fdivs,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,CR1
+fsubs,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,CR1
+fadds,1P,EXTRA3,TODO,0,0,0,FRA,FRB,0,FRT,0,CR1
+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
-0/8=fcpsgn,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1
index 1b9207cb75c6dfc9fd6a7e7e0712ac542848ce34..2a7ed4e122c56b5e06f707956bdde572ef6045ce 100644 (file)
@@ -35,8 +35,3 @@ fmsubs,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
 fmadds,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
 fnmsubs,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
 fnmadds,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
-fsel,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
-fmsub,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
-fmadd,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
-fnmsub,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
-fnmadd,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1
index 9364ce19b8319e392fe94a32e7a1a36b80b69de4..7ea4fe37b0f86b80795b4db49c54092e809cfb22 100644 (file)
@@ -1,11 +1,9 @@
 insn,Ptype,Etype,0,1,2,3,in1,in2,in3,out,CR in,CR out
 mcrf,2P,EXTRA3,d:BF,s:BFA,0,0,0,0,0,0,BFA,BF
-2/0=mcrfs,2P,EXTRA3,TODO,0,0,0,0,0,0,0,0,1
-1/6=mtfsb1,2P,EXTRA3,TODO,0,0,0,0,0,0,0,0,0
-2/6=mtfsb0,2P,EXTRA3,TODO,0,0,0,0,0,0,0,0,0
-4/6=mtfsfi,2P,EXTRA3,TODO,0,0,0,0,0,0,0,0,0
 mfcr/mfocrf,2P,EXTRA3,d:RT,s:CR,0,0,0,0,0,RT,WHOLE_REG,0
 setb,2P,EXTRA3,d:RT,s:BFA,0,0,0,0,0,RT,BFA,0
+5/0=ftsqrt,2P,EXTRA3,TODO,0,0,0,0,FRB,0,0,0,BF
+22/7=mtfsf,2P,EXTRA3,TODO,0,0,0,0,FRB,0,0,0,CR1
 cmpli,2P,EXTRA3,d:BF,s:RA,0,0,RA,0,0,0,0,BF
 cmpi,2P,EXTRA3,d:BF,s:RA,0,0,RA,0,0,0,0,BF
 neg,2P,EXTRA3,d:RT,s:RA,0,0,RA,0,0,RT,0,0
@@ -36,6 +34,29 @@ 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
+fsqrt,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+fre,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+frsqrte,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+18/7=mffsfamily,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+1/8=fneg,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+2/8=fmr,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+4/8=fnabs,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+8/8=fabs,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+12/8=frin,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+13/8=friz,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+14/8=frip,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+15/8=frim,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+0/12=frsp,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+0/14=fctiw,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+4/14=fctiwu,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+25/14=fctid,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+26/14=fcfid,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+29/14=fctidu,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+30/14=fcfidu,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+0/15=fctiwz,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+4/15=fctiwuz,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+25/15=fctidz,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
+29/15=fctiduz,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
 addic.,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0
 rlwinm,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0
 andi.,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0
@@ -57,29 +78,6 @@ 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
-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
-fsqrt,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
-fre,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
-frsqrte,2P,EXTRA3,"d:FRT,d:CR1",s:FRA,0,0,0,FRB,0,FRT,0,CR1
-18/7=mffsfamily,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-1/8=fneg,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-2/8=fmr,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-4/8=fnabs,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-8/8=fabs,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-12/8=frin,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-13/8=friz,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-14/8=frip,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-15/8=frim,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-0/12=frsp,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-0/14=fctiw,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-4/14=fctiwu,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-25/14=fctid,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-26/14=fcfid,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-29/14=fctidu,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-30/14=fcfidu,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-0/15=fctiwz,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-4/15=fctiwuz,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-25/15=fctidz,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
-29/15=fctiduz,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,0
+fsqrts,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,CR1
+fres,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,CR1
+frsqrtes,2P,EXTRA3,TODO,0,0,0,0,FRB,0,FRT,0,CR1
index cf1a6239c4d80e0ea994c7a99b858d7704ec33b1..e47efb85ebcf7bede9daec41fc85b4e093bae83e 100644 (file)
@@ -1,4 +1,2 @@
 insn,Ptype,Etype,0,1,2,3,in1,in2,in3,out,CR in,CR out
 mtcrf/mtocrf,2P,EXTRA2,d:CR,s:RS,s:CR,0,RS,0,0,0,WHOLE_REG,WHOLE_REG
-5/0=ftsqrt,2P,EXTRA2,TODO,0,0,0,0,FRB,0,0,0,1
-22/7=mtfsf,2P,EXTRA2,TODO,0,0,0,0,FRB,0,0,0,0
index 86289186c441075b2e4d442a461dfe3436d56df3..0e1358e1c64563496943f878ff6297f38098afa6 100644 (file)
@@ -1,13 +1,13 @@
 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
-0b0010,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fdiv,
-0b0100,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fsub,
-0b0101,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fadd,
-0b0110,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fsqrt,
-0b0111,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fsel,
-0b1000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fre,
-0b1001,FPU,OP_FPOP,FRA,NONE,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fmul,
-0b1010,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,frsqrte,
-0b1100,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fmsub,
-0b1101,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fmadd,
-0b1110,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fnmsub,
-0b1111,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fnmadd,
+0b0010,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fdiv,
+0b0100,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fsub,
+0b0101,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fadd,
+0b0110,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fsqrt,
+0b0111,FPU,OP_FPOP,FRA,FRB,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fsel,
+0b1000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fre,
+0b1001,FPU,OP_FPOP,FRA,NONE,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fmul,
+0b1010,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,frsqrte,
+0b1100,FPU,OP_FPOP,FRA,FRB,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fmsub,
+0b1101,FPU,OP_FPOP,FRA,FRB,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fmadd,
+0b1110,FPU,OP_FPOP,FRA,FRB,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fnmsub,
+0b1111,FPU,OP_FPOP,FRA,FRB,FRC,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,fnmadd,
index 4cd16244297f4bb66b1689027aa2d965ef2d2ba3..5313a3311fd1a7f28af2afafc43589bc7f2b1129 100644 (file)
@@ -1,33 +1,33 @@
 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
-0b000000000,FPU,OP_FPOP,FRA,FRB,NONE,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,0/0=fcmpu,
-0b000000001,FPU,OP_FPOP,FRA,FRB,NONE,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,1/0=fcmpo,
-0b000000010,FPU,OP_FPOP,NONE,NONE,NONE,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,2/0=mcrfs,
-0b000000100,FPU,OP_FPOP,FRA,FRB,NONE,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,4/0=ftdiv,
-0b000000101,FPU,OP_FPOP,NONE,FRB,NONE,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,5/0=ftsqrt,
-0b011000001,FPU,OP_FPOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,1/6=mtfsb1,
-0b011000010,FPU,OP_FPOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,2/6=mtfsb0,
-0b011000100,FPU,OP_FPOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/6=mtfsfi,
+0b000000000,FPU,OP_FPOP,FRA,FRB,NONE,NONE,NONE,BF,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,0/0=fcmpu,
+0b000000001,FPU,OP_FPOP,FRA,FRB,NONE,NONE,NONE,BF,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,1/0=fcmpo,
+0b000000010,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,BF,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,2/0=mcrfs,
+0b000000100,FPU,OP_FPOP,FRA,FRB,NONE,NONE,NONE,BF,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,4/0=ftdiv,
+0b000000101,FPU,OP_FPOP,NONE,FRB,NONE,NONE,NONE,BF,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,5/0=ftsqrt,
+0b011000001,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,1/6=mtfsb1,
+0b011000010,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,2/6=mtfsb0,
+0b011000100,FPU,OP_FPOP,NONE,NONE,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/6=mtfsfi,
 0b011011010,FPU,OP_FPOP_I,FRA,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,26/6=fmrgow,
 0b011011110,FPU,OP_FPOP_I,FRA,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,30/6=fmrgew,
-0b011110010,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,18/7=mffsfamily,
-0b011110110,FPU,OP_FPOP_I,NONE,FRB,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,22/7=mtfsf,
-0b100000000,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/8=fcpsgn,
-0b100000001,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,1/8=fneg,
-0b100000010,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,2/8=fmr,
-0b100000100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/8=fnabs,
-0b100001000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,8/8=fabs,
-0b100001100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,12/8=frin,
-0b100001101,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,13/8=friz,
-0b100001110,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,14/8=frip,
-0b100001111,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,15/8=frim,
-0b110000000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,0/12=frsp,
-0b111000000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/14=fctiw,
-0b111000100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/14=fctiwu,
-0b111011001,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,25/14=fctid,
-0b111011010,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,26/14=fcfid,
-0b111011101,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,29/14=fctidu,
-0b111011110,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,30/14=fcfidu,
-0b111100000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/15=fctiwz,
-0b111100100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/15=fctiwuz,
-0b111111001,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,25/15=fctidz,
-0b111111101,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,29/15=fctiduz,
+0b011110010,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,18/7=mffsfamily,
+0b011110110,FPU,OP_FPOP_I,NONE,FRB,NONE,NONE,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,22/7=mtfsf,
+0b100000000,FPU,OP_FPOP,FRA,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/8=fcpsgn,
+0b100000001,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,1/8=fneg,
+0b100000010,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,2/8=fmr,
+0b100000100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/8=fnabs,
+0b100001000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,8/8=fabs,
+0b100001100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,12/8=frin,
+0b100001101,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,13/8=friz,
+0b100001110,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,14/8=frip,
+0b100001111,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,15/8=frim,
+0b110000000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,0/12=frsp,
+0b111000000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/14=fctiw,
+0b111000100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/14=fctiwu,
+0b111011001,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,25/14=fctid,
+0b111011010,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,26/14=fcfid,
+0b111011101,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,29/14=fctidu,
+0b111011110,FPU,OP_FPOP_I,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,30/14=fcfidu,
+0b111100000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,0/15=fctiwz,
+0b111100100,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,4/15=fctiwuz,
+0b111111001,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,25/15=fctidz,
+0b111111101,FPU,OP_FPOP,NONE,FRB,NONE,FRT,NONE,CR1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,29/15=fctiduz,
index 603941831bc6bcbf2292fb57a83308bf65a5230d..25ae2c181d91cfd85931daed30345334b47b112d 100644 (file)
@@ -17,6 +17,7 @@ LDST-3R-CRo | LDSTRM-2P-3S  |
 LDST-3R-1W | LDSTRM-2P-2S1D  |
  | non-SV  |
 imm | non-SV  |
+CRo | -  |
 CRio | RM-2P-1S1D  |
 CR=2R1W | RM-1P-2S1D  |
 1W | non-SV  |
@@ -24,6 +25,7 @@ CR=2R1W | RM-1P-2S1D  |
 1R | non-SV  |
 1R-imm | non-SV  |
 1R-CRo | RM-2P-1S1D  |
+1R-CRo | RM-2P-1S1D  |
 1R-CRio | RM-2P-2S1D  |
 1R-1W | RM-2P-1S1D  |
 1R-1W-imm | RM-2P-1S1D  |
@@ -32,12 +34,12 @@ CR=2R1W | RM-1P-2S1D  |
 1R-1W-CRio | RM-2P-1S1D  |
 2R | non-SV  |
 2R-CRo | RM-1P-2S1D  |
-2R-CRio | RM-1P-2S1D  |
 2R-1W | RM-1P-2S1D  |
 2R-1W-CRo | RM-1P-2S1D  |
 2R-1W-CRo | RM-1P-2S1D  |
 2R-1W-CRi | RM-1P-3S1D  |
 2R-1W-CRio | RM-1P-2S1D  |
+3R-1W-CRo | -  |
 3R-1W-CRio | RM-1P-3S1D  |
 """]]
 
@@ -56,12 +58,14 @@ LDST | 3 | 0 | 0 | 1 |  |  |  LDST-3R-CRo |
 LDST | 3 | 1 | 0 | 0 |  |  |  LDST-3R-1W |
 OTHER | 0 | 0 | 0 | 0 |  |  |   |
 OTHER | 0 | 0 | 0 | 0 | 1 | LI |  imm |
+OTHER | 0 | 0 | 0 | 1 |  |  |  CRo |
 OTHER | 0 | 0 | 1 | 1 |  |  |  CRio |
 OTHER | 0 | 0 | 1 | 1 | 1 |  |  |  CR=2R1W |
 OTHER | 0 | 1 | 0 | 0 |  |  |  1W |
 OTHER | 0 | 1 | 1 | 0 |  |  |  1W-CRi |
 OTHER | 1 | 0 | 0 | 0 |  |  |  1R |
 OTHER | 1 | 0 | 0 | 0 | 1 | SI |  1R-imm |
+OTHER | 1 | 0 | 0 | 1 |  |  |  1R-CRo |
 OTHER | 1 | 0 | 0 | 1 | 1 | SI/UI |  1R-CRo |
 OTHER | 1 | 0 | 1 | 1 |  |  |  1R-CRio |
 OTHER | 1 | 1 | 0 | 0 |  |  |  1R-1W |
@@ -71,12 +75,12 @@ 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 | 0 | 1 | 1 |  |  |  2R-CRio |
 OTHER | 2 | 1 | 0 | 0 |  |  |  2R-1W |
 OTHER | 2 | 1 | 0 | 1 |  |  |  2R-1W-CRo |
 OTHER | 2 | 1 | 0 | 1 | 1 | SH/SH32 |  2R-1W-CRo |
 OTHER | 2 | 1 | 1 | 0 |  |  |  2R-1W-CRi |
 OTHER | 2 | 1 | 1 | 1 |  |  |  2R-1W-CRio |
+OTHER | 3 | 1 | 0 | 1 |  |  |  3R-1W-CRo |
 OTHER | 3 | 1 | 1 | 1 |  |  |  3R-1W-CRio |
 """]]
 
@@ -221,17 +225,23 @@ CSV | opcode | asm | form |
 major.csv | 18 | b | I-Form |
 """]]
 
-## CRio (RM-2P-1S1D)
+## CRo (-)
 
 [[!table  data="""
 CSV | opcode | asm | form |
-minor_19.csv | 0b0000000000 | mcrf | XL-Form |
 minor_63l.csv | 0b000000010 | 2/0=mcrfs | -Form |
 minor_63l.csv | 0b011000001 | 1/6=mtfsb1 | -Form |
 minor_63l.csv | 0b011000010 | 2/6=mtfsb0 | -Form |
 minor_63l.csv | 0b011000100 | 4/6=mtfsfi | -Form |
 """]]
 
+## CRio (RM-2P-1S1D)
+
+[[!table  data="""
+CSV | opcode | asm | form |
+minor_19.csv | 0b0000000000 | mcrf | XL-Form |
+"""]]
+
 ## CR=2R1W (RM-1P-2S1D)
 
 [[!table  data="""
@@ -282,6 +292,14 @@ major.csv | 3 | twi | D-Form |
 
 ## 1R-CRo (RM-2P-1S1D)
 
+[[!table  data="""
+CSV | opcode | asm | form |
+minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form |
+minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form |
+"""]]
+
+## 1R-CRo (RM-2P-1S1D)
+
 [[!table  data="""
 CSV | opcode | asm | form |
 major.csv | 10 | cmpli | D-Form |
@@ -293,8 +311,6 @@ major.csv | 11 | cmpi | D-Form |
 [[!table  data="""
 CSV | opcode | asm | form |
 minor_31.csv | 0b0010010000 | mtcrf/mtocrf | XFX-Form |
-minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form |
-minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form |
 """]]
 
 ## 1R-1W (RM-2P-1S1D)
@@ -341,6 +357,29 @@ 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_63h.csv | 0b0110 | fsqrt | -Form |
+minor_63h.csv | 0b1000 | fre | -Form |
+minor_63h.csv | 0b1010 | frsqrte | -Form |
+minor_63l.csv | 0b011110010 | 18/7=mffsfamily | -Form |
+minor_63l.csv | 0b100000001 | 1/8=fneg | -Form |
+minor_63l.csv | 0b100000010 | 2/8=fmr | -Form |
+minor_63l.csv | 0b100000100 | 4/8=fnabs | -Form |
+minor_63l.csv | 0b100001000 | 8/8=fabs | -Form |
+minor_63l.csv | 0b100001100 | 12/8=frin | -Form |
+minor_63l.csv | 0b100001101 | 13/8=friz | -Form |
+minor_63l.csv | 0b100001110 | 14/8=frip | -Form |
+minor_63l.csv | 0b100001111 | 15/8=frim | -Form |
+minor_63l.csv | 0b110000000 | 0/12=frsp | -Form |
+minor_63l.csv | 0b111000000 | 0/14=fctiw | -Form |
+minor_63l.csv | 0b111000100 | 4/14=fctiwu | -Form |
+minor_63l.csv | 0b111011001 | 25/14=fctid | -Form |
+minor_63l.csv | 0b111011010 | 26/14=fcfid | -Form |
+minor_63l.csv | 0b111011101 | 29/14=fctidu | -Form |
+minor_63l.csv | 0b111011110 | 30/14=fcfidu | -Form |
+minor_63l.csv | 0b111100000 | 0/15=fctiwz | -Form |
+minor_63l.csv | 0b111100100 | 4/15=fctiwuz | -Form |
+minor_63l.csv | 0b111111001 | 25/15=fctidz | -Form |
+minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form |
 """]]
 
 ## 1R-1W-CRo (RM-2P-1S1D)
@@ -377,29 +416,6 @@ 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 |
-minor_63h.csv | 0b0110 | fsqrt | -Form |
-minor_63h.csv | 0b1000 | fre | -Form |
-minor_63h.csv | 0b1010 | frsqrte | -Form |
-minor_63l.csv | 0b011110010 | 18/7=mffsfamily | -Form |
-minor_63l.csv | 0b100000001 | 1/8=fneg | -Form |
-minor_63l.csv | 0b100000010 | 2/8=fmr | -Form |
-minor_63l.csv | 0b100000100 | 4/8=fnabs | -Form |
-minor_63l.csv | 0b100001000 | 8/8=fabs | -Form |
-minor_63l.csv | 0b100001100 | 12/8=frin | -Form |
-minor_63l.csv | 0b100001101 | 13/8=friz | -Form |
-minor_63l.csv | 0b100001110 | 14/8=frip | -Form |
-minor_63l.csv | 0b100001111 | 15/8=frim | -Form |
-minor_63l.csv | 0b110000000 | 0/12=frsp | -Form |
-minor_63l.csv | 0b111000000 | 0/14=fctiw | -Form |
-minor_63l.csv | 0b111000100 | 4/14=fctiwu | -Form |
-minor_63l.csv | 0b111011001 | 25/14=fctid | -Form |
-minor_63l.csv | 0b111011010 | 26/14=fcfid | -Form |
-minor_63l.csv | 0b111011101 | 29/14=fctidu | -Form |
-minor_63l.csv | 0b111011110 | 30/14=fcfidu | -Form |
-minor_63l.csv | 0b111100000 | 0/15=fctiwz | -Form |
-minor_63l.csv | 0b111100100 | 4/15=fctiwuz | -Form |
-minor_63l.csv | 0b111111001 | 25/15=fctidz | -Form |
-minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form |
 """]]
 
 ## 2R (non-SV)
@@ -419,12 +435,6 @@ minor_31.csv | 0b0000000000 | cmp | X-Form |
 minor_31.csv | 0b0000100000 | cmpl | X-Form |
 minor_31.csv | 0b0011000000 | cmprb | X-Form |
 minor_31.csv | 0b0011100000 | cmpeqb | X-Form |
-"""]]
-
-## 2R-CRio (RM-1P-2S1D)
-
-[[!table  data="""
-CSV | opcode | asm | form |
 minor_63l.csv | 0b000000000 | 0/0=fcmpu | -Form |
 minor_63l.csv | 0b000000001 | 1/0=fcmpo | -Form |
 minor_63l.csv | 0b000000100 | 4/0=ftdiv | -Form |
@@ -503,6 +513,11 @@ minor_31.csv | 0b1111001001 | divduo | XO-Form |
 minor_31.csv | 0b1111001011 | divwuo | XO-Form |
 minor_31.csv | 0b1111101001 | divdo | XO-Form |
 minor_31.csv | 0b1111101011 | divwo | XO-Form |
+minor_63h.csv | 0b0010 | fdiv | -Form |
+minor_63h.csv | 0b0100 | fsub | -Form |
+minor_63h.csv | 0b0101 | fadd | -Form |
+minor_63h.csv | 0b1001 | fmul | -Form |
+minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form |
 """]]
 
 ## 2R-1W-CRo (RM-1P-2S1D)
@@ -560,23 +575,14 @@ 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 |
-minor_63h.csv | 0b1001 | fmul | -Form |
 minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form |
 minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form |
-minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form |
 """]]
 
-## 3R-1W-CRio (RM-1P-3S1D)
+## 3R-1W-CRo (-)
 
 [[!table  data="""
 CSV | opcode | asm | form |
-minor_59.csv | 0b11100 | fmsubs | -Form |
-minor_59.csv | 0b11101 | fmadds | -Form |
-minor_59.csv | 0b11110 | fnmsubs | -Form |
-minor_59.csv | 0b11111 | fnmadds | -Form |
 minor_63h.csv | 0b0111 | fsel | -Form |
 minor_63h.csv | 0b1100 | fmsub | -Form |
 minor_63h.csv | 0b1101 | fmadd | -Form |
@@ -584,6 +590,16 @@ minor_63h.csv | 0b1110 | fnmsub | -Form |
 minor_63h.csv | 0b1111 | fnmadd | -Form |
 """]]
 
+## 3R-1W-CRio (RM-1P-3S1D)
+
+[[!table  data="""
+CSV | opcode | asm | form |
+minor_59.csv | 0b11100 | fmsubs | -Form |
+minor_59.csv | 0b11101 | fmadds | -Form |
+minor_59.csv | 0b11110 | fnmsubs | -Form |
+minor_59.csv | 0b11111 | fnmadds | -Form |
+"""]]
+
 # svp64 remaps
 * **LDST-1R-1W-imm**: LDSTRM-2P-1S1D
 * **LDST-1R-2W-imm**: LDSTRM-2P-1S2D
@@ -594,10 +610,12 @@ minor_63h.csv | 0b1111 | fnmadd | -Form |
 * **LDST-3R**: LDSTRM-2P-3S
 * **LDST-3R-CRo**: LDSTRM-2P-3S
 * **LDST-3R-1W**: LDSTRM-2P-2S1D
+* **CRo**: -
 * **CRio**: RM-2P-1S1D
 * **CR=2R1W**: RM-1P-2S1D
 * **1W-CRi**: RM-2P-1S1D
 * **1R-CRo**: RM-2P-1S1D
+* **1R-CRo**: RM-2P-1S1D
 * **1R-CRio**: RM-2P-2S1D
 * **1R-1W**: RM-2P-1S1D
 * **1R-1W-imm**: RM-2P-1S1D
@@ -605,12 +623,12 @@ minor_63h.csv | 0b1111 | fnmadd | -Form |
 * **1R-1W-CRo**: RM-2P-1S1D
 * **1R-1W-CRio**: RM-2P-1S1D
 * **2R-CRo**: RM-1P-2S1D
-* **2R-CRio**: RM-1P-2S1D
 * **2R-1W**: RM-1P-2S1D
 * **2R-1W-CRo**: RM-1P-2S1D
 * **2R-1W-CRo**: RM-1P-2S1D
 * **2R-1W-CRi**: RM-1P-3S1D
 * **2R-1W-CRio**: RM-1P-2S1D
+* **3R-1W-CRo**: -
 * **3R-1W-CRio**: RM-1P-3S1D
 
 ## LDSTRM-2P-1S1D
@@ -633,6 +651,10 @@ minor_63h.csv | 0b1111 | fnmadd | -Form |
 
 [[!table format=csv file="openpower/isatables/LDSTRM-2P-3S.csv"]]
 
+## -
+
+[[!table format=csv file="openpower/isatables/-.csv"]]
+
 ## RM-2P-1S1D
 
 [[!table format=csv file="openpower/isatables/RM-2P-1S1D.csv"]]
index e39f7a40c523759454456acdc2765689955bf3b5..381ec7f4d7a6a1aa8aa28e532f8ba447417f80ab 100644 (file)
@@ -183,6 +183,8 @@ def process_csvs():
 
     # Ignore those containing: valid test sprs
     for fname in glob(pth):
+        if '-' in fname:
+            continue
         if 'valid' in fname:
             continue
         if 'test' in fname:
@@ -447,7 +449,7 @@ def process_csvs():
                 elif regs == ['RS','','','RA','','']:
                     res['0'] = 'd:RA' # RA: Rdest1_EXTRA3
                     res['1'] = 's:RS' # RS: Rsrc1_EXTRA3
-                elif regs == ['','FRB','','FRT','0','CR1']:
+                elif regs == ['','FRB','','FRT','','CR1']:
                     res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3
                     res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3
                 else:
@@ -459,16 +461,16 @@ def process_csvs():
                     res['0'] = 'd:BT' # BT: Rdest1_EXTRA3
                     res['1'] = 's:BA' # BA: Rsrc1_EXTRA3
                     res['2'] = 's:BB' # BB: Rsrc2_EXTRA3
-                elif regs == ['FRA','','FRC','FRT','0','CR1']:
+                elif regs == ['FRA','','FRC','FRT','','CR1']:
                     res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3
                     res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3
                     res['2'] = 's:FRC' # FRC: Rsrc1_EXTRA3
                 # should be for fcmp
-                elif regs == ['FRA','FRB','','','0','1']:
+                elif regs == ['FRA','FRB','','','','BF']:
                     res['0'] = 'd:BF' # BF: Rdest1_EXTRA3
                     res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3
                     res['2'] = 's:FRB' # FRB: Rsrc1_EXTRA3
-                elif regs == ['FRA','FRB','','FRT','0','CR1']:
+                elif regs == ['FRA','FRB','','FRT','','CR1']:
                     res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3
                     res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3
                     res['2'] = 's:FRB' # FRB: Rsrc1_EXTRA3