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
+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
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
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
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
+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
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
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,
-0b10010,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fdivs,
-0b10100,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fsubs,
-0b10101,FPU,OP_FPOP,FRA,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fadds,
-0b10110,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fsqrts,
-0b11000,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fres,
+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,
-0b11010,FPU,OP_FPOP,NONE,FRB,NONE,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,frsqrtes,
+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,
0b11110,FPU,OP_FPOP,FRA,FRB,FRC,FRT,0,CR1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,fnmsubs,
minor_31.csv | 0b1110011010 | extsh | X-Form |
minor_31.csv | 0b1110111010 | extsb | X-Form |
minor_31.csv | 0b1111011010 | extsw | X-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 |
[[!table data="""
CSV | opcode | asm | 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 |
"""]]
## 2R (non-SV)
minor_31.csv | 0b1111001011 | divwuo | XO-Form |
minor_31.csv | 0b1111101001 | divdo | XO-Form |
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_63h.csv | 0b0010 | fdiv | -Form |
minor_63h.csv | 0b0100 | fsub | -Form |
minor_63h.csv | 0b0101 | fadd | -Form |
[[!table data="""
CSV | opcode | asm | 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_63l.csv | 0b011011010 | 26/6=fmrgow | -Form |
minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form |