Add CR selector field to decoder tables
authorMichael Nolan <mtnolan2640@gmail.com>
Thu, 21 May 2020 15:30:14 +0000 (11:30 -0400)
committerMichael Nolan <mtnolan2640@gmail.com>
Thu, 21 May 2020 15:37:14 +0000 (11:37 -0400)
openpower/isatables/extra.csv
openpower/isatables/major.csv
openpower/isatables/minor_19.csv
openpower/isatables/minor_19_00000.csv
openpower/isatables/minor_30.csv
openpower/isatables/minor_31.csv
openpower/isatables/minor_58.csv
openpower/isatables/minor_62.csv

index c33eeb467b4d6db617bf71a466834685d140c46b..046bda15cebb301be4b8bf04e348bba99b9a3ef5 100644 (file)
@@ -1,4 +1,4 @@
 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
-000000---------------0100000000-,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,attn,NONE
-01100000000000000000000000000000,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,nop,D
-000001---------------0000000011-,ALU,OP_SIM_CONFIG,NONE,NONE,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,sim_cfg,NONE
+000000---------------0100000000-,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,attn,NONE
+01100000000000000000000000000000,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,nop,D
+000001---------------0000000011-,ALU,OP_SIM_CONFIG,NONE,NONE,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,sim_cfg,NONE
index fcc6a9025d4a6967e7052170ac98caf67b8a63de..1c3b2af4c2a5203b99f056d92263e8df1ef01b3c 100644 (file)
@@ -1,36 +1,36 @@
 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
-12,ALU,OP_ADD,RA,CONST_SI,NONE,RT,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,NONE,0,0,addic,D
-13,ALU,OP_ADD,RA,CONST_SI,NONE,RT,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,ONE,0,0,addic.,D
-14,ALU,OP_ADD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,addi,D
-15,ALU,OP_ADD,RA_OR_ZERO,CONST_SI_HI,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,addis,D
-28,LOGICAL,OP_AND,NONE,CONST_UI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,ONE,0,0,andi.,B
-29,LOGICAL,OP_AND,NONE,CONST_UI_HI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,ONE,0,0,andis.,B
-18,BRANCH,OP_B,NONE,CONST_LI,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,b,I
-16,BRANCH,OP_BC,SPR,CONST_BD,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bc,B
-11,ALU,OP_CMP,RA,CONST_SI,NONE,NONE,0,1,1,0,ONE,0,NONE,0,0,0,0,0,1,NONE,0,0,cmpi,D
-10,ALU,OP_CMP,RA,CONST_UI,NONE,NONE,0,1,1,0,ONE,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpli,D
-34,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,1,lbz,D
-35,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,NONE,0,1,lbzu,D
-42,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is2B,0,1,0,0,0,0,NONE,0,1,lha,D
-43,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is2B,0,1,1,0,0,0,NONE,0,1,lhau,D
-40,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,lhz,D
-41,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,lhzu,D
-32,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,lwz,D
-33,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,0,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,lwzu,D
-7,MUL,OP_MUL_L64,RA,CONST_SI,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,NONE,0,0,mulli,D
-24,LOGICAL,OP_OR,NONE,CONST_UI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,ori,D
-25,LOGICAL,OP_OR,NONE,CONST_UI_HI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,oris,D
-20,SHIFT_ROT,OP_RLC,RA,CONST_SH32,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwimi,M
-21,SHIFT_ROT,OP_RLC,NONE,CONST_SH32,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwinm,M
-23,SHIFT_ROT,OP_RLC,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwnm,M
-38,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,RC,0,1,stb,D
-39,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,0,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,RC,0,1,stbu,D
-44,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,0,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,sth,D
-45,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,0,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,sthu,D
-36,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,stw,D
-37,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,0,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,stwu,D
-8,ALU,OP_ADD,RA,CONST_SI,NONE,RT,0,0,1,0,ONE,1,NONE,0,0,0,0,0,0,NONE,0,0,subfic,D
-2,TRAP,OP_TRAP,RA,CONST_SI,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,tdi,D
-3,TRAP,OP_TRAP,RA,CONST_SI,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,1,twi,D
-26,LOGICAL,OP_XOR,NONE,CONST_UI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,xori,D
-27,LOGICAL,OP_XOR,NONE,CONST_UI_HI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,xoris,D
+12,ALU,OP_ADD,RA,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,NONE,0,0,addic,D
+13,ALU,OP_ADD,RA,CONST_SI,NONE,RT,NONE,1,0,0,ZERO,1,NONE,0,0,0,0,0,0,ONE,0,0,addic.,D
+14,ALU,OP_ADD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,addi,D
+15,ALU,OP_ADD,RA_OR_ZERO,CONST_SI_HI,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,addis,D
+28,LOGICAL,OP_AND,NONE,CONST_UI,RS,RA,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,ONE,0,0,andi.,B
+29,LOGICAL,OP_AND,NONE,CONST_UI_HI,RS,RA,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,ONE,0,0,andis.,B
+18,BRANCH,OP_B,NONE,CONST_LI,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,b,I
+16,BRANCH,OP_BC,SPR,CONST_BD,NONE,SPR,BI,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bc,B
+11,ALU,OP_CMP,RA,CONST_SI,NONE,NONE,NONE,1,1,0,ONE,0,NONE,0,0,0,0,0,1,NONE,0,0,cmpi,D
+10,ALU,OP_CMP,RA,CONST_UI,NONE,NONE,NONE,1,1,0,ONE,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpli,D
+34,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,1,lbz,D
+35,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,NONE,0,1,lbzu,D
+42,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,1,0,0,0,0,NONE,0,1,lha,D
+43,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,1,1,0,0,0,NONE,0,1,lhau,D
+40,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,lhz,D
+41,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,lhzu,D
+32,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,lwz,D
+33,LDST,OP_LOAD,RA_OR_ZERO,CONST_SI,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,lwzu,D
+7,MUL,OP_MUL_L64,RA,CONST_SI,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,NONE,0,0,mulli,D
+24,LOGICAL,OP_OR,NONE,CONST_UI,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,ori,D
+25,LOGICAL,OP_OR,NONE,CONST_UI_HI,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,oris,D
+20,SHIFT_ROT,OP_RLC,RA,CONST_SH32,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwimi,M
+21,SHIFT_ROT,OP_RLC,NONE,CONST_SH32,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwinm,M
+23,SHIFT_ROT,OP_RLC,NONE,RB,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwnm,M
+38,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,NONE,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,RC,0,1,stb,D
+39,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,NONE,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,RC,0,1,stbu,D
+44,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,NONE,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,sth,D
+45,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,NONE,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,sthu,D
+36,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,stw,D
+37,LDST,OP_STORE,RA_OR_ZERO,CONST_SI,RS,NONE,NONE,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,stwu,D
+8,ALU,OP_ADD,RA,CONST_SI,NONE,RT,NONE,0,1,0,ONE,1,NONE,0,0,0,0,0,0,NONE,0,0,subfic,D
+2,TRAP,OP_TRAP,RA,CONST_SI,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,tdi,D
+3,TRAP,OP_TRAP,RA,CONST_SI,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,1,twi,D
+26,LOGICAL,OP_XOR,NONE,CONST_UI,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,xori,D
+27,LOGICAL,OP_XOR,NONE,CONST_UI_HI,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,xoris,D
index df5bc72a04aa1edafc136680fec0b585e028e2d4..7db0beed27ee31a311bce22bab73ef8d23e90696 100644 (file)
@@ -1,15 +1,15 @@
 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
-0b0000000000,CR,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mcrf,XL
-0b0100000001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crand,XL
-0b0010000001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crandc,XL
-0b0100100001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,creqv,XL
-0b0011100001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnand,XL
-0b0000100001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnor,XL
-0b0111000001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cror,XL
-0b0110100001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crorc,XL
-0b0011000001,CR,OP_CROP,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crxor,XL
-0b1000010000,BRANCH,OP_BCREG,SPR,SPR,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bcctr,XL
-0b0000010000,BRANCH,OP_BCREG,SPR,SPR,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bclr,XL
-0b1000110000,BRANCH,OP_BCREG,SPR,SPR,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bctar,XL
-0b0010010110,ALU,OP_ISYNC,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,isync,XL
-0b0010010101,TRAP,OP_RFID,SPR,SPR,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,rfid,XL
+0b0000000000,CR,OP_MCRF,NONE,NONE,NONE,NONE,BFA,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mcrf,XL
+0b0100000001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crand,XL
+0b0010000001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crandc,XL
+0b0100100001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,creqv,XL
+0b0011100001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnand,XL
+0b0000100001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnor,XL
+0b0111000001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cror,XL
+0b0110100001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crorc,XL
+0b0011000001,CR,OP_CROP,NONE,NONE,NONE,NONE,BA_BB,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crxor,XL
+0b1000010000,BRANCH,OP_BCREG,SPR,SPR,NONE,SPR,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bcctr,XL
+0b0000010000,BRANCH,OP_BCREG,SPR,SPR,NONE,SPR,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bclr,XL
+0b1000110000,BRANCH,OP_BCREG,SPR,SPR,NONE,SPR,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bctar,XL
+0b0010010110,ALU,OP_ISYNC,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,isync,XL
+0b0010010101,TRAP,OP_RFID,SPR,SPR,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,rfid,XL
index d3febffc2c1a65ec24da3192a2f78ac42a244bb5..cff6bac6063878c7bca040e56765a343cbd610c0 100644 (file)
@@ -1,2 +1,2 @@
 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
-0b00010,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,add pcis not implemented yet,DX
+0b00010,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,add pcis not implemented yet,DX
index c1e5b8a5934f856483a83421a5bfc895d4de45bc..9bfea912e011424839947ad36ed193123f2c2b38 100644 (file)
@@ -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
-0b0100,SHIFT_ROT,OP_RLC,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldic,MD
-0b0101,SHIFT_ROT,OP_RLC,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldic,MD
-0b0000,SHIFT_ROT,OP_RLCL,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicl,MDS
-0b0001,SHIFT_ROT,OP_RLCL,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicl,MDS
-0b0010,SHIFT_ROT,OP_RLCR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicr,MD
-0b0011,SHIFT_ROT,OP_RLCR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicr,MD
-0b0110,SHIFT_ROT,OP_RLC,RA,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldimi,MD
-0b0111,SHIFT_ROT,OP_RLC,RA,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldimi,MD
-0b1000,SHIFT_ROT,OP_RLCL,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldcl,MD
-0b1001,SHIFT_ROT,OP_RLCR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldcr,MD
+0b0100,SHIFT_ROT,OP_RLC,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldic,MD
+0b0101,SHIFT_ROT,OP_RLC,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldic,MD
+0b0000,SHIFT_ROT,OP_RLCL,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicl,MDS
+0b0001,SHIFT_ROT,OP_RLCL,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicl,MDS
+0b0010,SHIFT_ROT,OP_RLCR,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicr,MD
+0b0011,SHIFT_ROT,OP_RLCR,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicr,MD
+0b0110,SHIFT_ROT,OP_RLC,RA,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldimi,MD
+0b0111,SHIFT_ROT,OP_RLC,RA,CONST_SH,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldimi,MD
+0b1000,SHIFT_ROT,OP_RLCL,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldcl,MD
+0b1001,SHIFT_ROT,OP_RLCR,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldcr,MD
index 939af5e6d0d1386281f10a4dcffefa406a0f7fc1..a740bc8899547d0750f3b9ad9a87de608c04003b 100644 (file)
 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
-0b0100001010,ALU,OP_ADD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,add,XO
-0b1100001010,ALU,OP_ADD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,addo,XO
-0b0000001010,ALU,OP_ADD,RA,RB,NONE,RT,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,RC,0,0,addc,XO
-0b1000001010,ALU,OP_ADD,RA,RB,NONE,RT,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,RC,0,0,addco,XO
-0b0010001010,ALU,OP_ADD,RA,RB,NONE,RT,0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,adde,XO
-0b1010001010,ALU,OP_ADD,RA,RB,NONE,RT,0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addeo,XO
-0b0011101010,ALU,OP_ADD,RA,CONST_M1,NONE,RT,0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addme,XO
-0b1011101010,ALU,OP_ADD,RA,CONST_M1,NONE,RT,0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addmeo,XO
-0b0011001010,ALU,OP_ADD,RA,NONE,NONE,RT,0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addze,XO
-0b1011001010,ALU,OP_ADD,RA,NONE,NONE,RT,0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addzeo,XO
-0b0000011100,LOGICAL,OP_AND,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,and,X
-0b0000111100,LOGICAL,OP_AND,NONE,RB,RS,RA,0,0,1,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,andc,X
-0b0011111100,LOGICAL,OP_BPERM,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,bperm,X
-0b0000000000,ALU,OP_CMP,RA,RB,NONE,NONE,0,1,1,0,ONE,0,NONE,0,0,0,0,0,1,NONE,0,0,cmp,X
-0b0111111100,LOGICAL,OP_CMPB,NONE,RB,RS,RA,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpb,X
-0b0011100000,ALU,OP_CMPEQB,RA,RB,NONE,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpeqb,X
-0b0000100000,ALU,OP_CMP,RA,RB,NONE,NONE,0,1,1,0,ONE,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpl,X
+0b0100001010,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,add,XO
+0b1100001010,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,addo,XO
+0b0000001010,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,RC,0,0,addc,XO
+0b1000001010,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,0,0,RC,0,0,addco,XO
+0b0010001010,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,adde,XO
+0b1010001010,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addeo,XO
+0b0011101010,ALU,OP_ADD,RA,CONST_M1,NONE,RT,CR0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addme,XO
+0b1011101010,ALU,OP_ADD,RA,CONST_M1,NONE,RT,CR0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addmeo,XO
+0b0011001010,ALU,OP_ADD,RA,NONE,NONE,RT,CR0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addze,XO
+0b1011001010,ALU,OP_ADD,RA,NONE,NONE,RT,CR0,0,0,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,addzeo,XO
+0b0000011100,LOGICAL,OP_AND,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,and,X
+0b0000111100,LOGICAL,OP_AND,NONE,RB,RS,RA,CR0,0,1,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,andc,X
+0b0011111100,LOGICAL,OP_BPERM,NONE,RB,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,bperm,X
+0b0000000000,ALU,OP_CMP,RA,RB,NONE,NONE,NONE,1,1,0,ONE,0,NONE,0,0,0,0,0,1,NONE,0,0,cmp,X
+0b0111111100,LOGICAL,OP_CMPB,NONE,RB,RS,RA,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpb,X
+0b0011100000,ALU,OP_CMPEQB,RA,RB,NONE,NONE,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpeqb,X
+0b0000100000,ALU,OP_CMP,RA,RB,NONE,NONE,NONE,1,1,0,ONE,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpl,X
 0b0011000000,,,,,,,,,,,,,,,,,,,,,,,cmprb,X
-0b0000111010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,cntlzd,X
-0b0000011010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cntlzw,X
-0b1000111010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,cnttzd,X
-0b1000011010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cnttzw,X
+0b0000111010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,cntlzd,X
+0b0000011010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cntlzw,X
+0b1000111010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,cnttzd,X
+0b1000011010,LOGICAL,OP_CNTZ,NONE,NONE,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cnttzw,X
 0b1011110011,,,,,,,,,,,,,,,,,,,,,,,darn,X
-0b0001010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbf,X
-0b0000110110,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbst,X
-0b0100010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbt,X
-0b0011110110,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbtst,X
+0b0001010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbf,X
+0b0000110110,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbst,X
+0b0100010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbt,X
+0b0011110110,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,dcbtst,X
 0b1111110110,,,,,,,,,,,,,,,,,,,,,,,dcbz,X
-0b0110001001,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdeu,XO
-0b1110001001,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdeuo,XO
-0b0110001011,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divweu,XO
-0b1110001011,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divweuo,XO
-0b0110101001,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divde,XO
-0b1110101001,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divdeo,XO
-0b0110101011,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divwe,XO
-0b1110101011,DIV,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divweo,XO
-0b0111001001,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdu,XO
-0b1111001001,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divduo,XO
-0b0111001011,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divwu,XO
-0b1111001011,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divwuo,XO
-0b0111101001,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divd,XO
-0b1111101001,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divdo,XO
-0b0111101011,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divw,XO
-0b1111101011,DIV,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divwo,XO
-0b0100011100,LOGICAL,OP_XOR,NONE,RB,RS,RA,0,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,eqv,X
-0b1110111010,ALU,OP_EXTS,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,RC,0,0,extsb,X
-0b1110011010,ALU,OP_EXTS,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,RC,0,0,extsh,X
-0b1111011010,ALU,OP_EXTS,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,RC,0,0,extsw,X
+0b0110001001,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdeu,XO
+0b1110001001,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdeuo,XO
+0b0110001011,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divweu,XO
+0b1110001011,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divweuo,XO
+0b0110101001,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divde,XO
+0b1110101001,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divdeo,XO
+0b0110101011,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divwe,XO
+0b1110101011,DIV,OP_DIVE,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divweo,XO
+0b0111001001,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdu,XO
+0b1111001001,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divduo,XO
+0b0111001011,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divwu,XO
+0b1111001011,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divwuo,XO
+0b0111101001,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divd,XO
+0b1111101001,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divdo,XO
+0b0111101011,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divw,XO
+0b1111101011,DIV,OP_DIV,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divwo,XO
+0b0100011100,LOGICAL,OP_XOR,NONE,RB,RS,RA,NONE,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,eqv,X
+0b1110111010,ALU,OP_EXTS,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,RC,0,0,extsb,X
+0b1110011010,ALU,OP_EXTS,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,RC,0,0,extsh,X
+0b1111011010,ALU,OP_EXTS,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,RC,0,0,extsw,X
 0b1101111010,,,,,,,,,,,,,,,,,,,,,,,extswsli,XS
 0b1101111011,,,,,,,,,,,,,,,,,,,,,,,extswsli,XS
-0b1111010110,ALU,OP_ICBI,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,icbi,X
-0b0000010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,icbt,X
-0b0000001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,isel,A
-0b0000101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0001001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0001101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0010001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0010101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0011001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0011101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0100001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0100101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0101001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0101101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0110001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0110101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0111001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0111101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1000001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1000101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1001001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1001101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1010001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1010101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1011001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1011101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1100001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1100101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1101001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1101101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1110001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1110101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1111001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b1111101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
-0b0000110100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is1B,0,0,0,1,0,0,NONE,0,1,lbarx,X
-0b0001110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,NONE,0,1,lbzux,X
-0b0001010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,1,lbzx,X
-0b0001010100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is8B,0,0,0,1,0,0,NONE,0,1,ldarx,X
-0b1000010100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is8B,1,0,0,0,0,0,NONE,0,1,ldbrx,X
-0b0000110101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,ldux,X
-0b0000010101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,ldx,X
-0b0001110100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is2B,0,0,0,1,0,0,NONE,0,1,lharx,X
-0b0101110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is2B,0,1,1,0,0,0,NONE,0,1,lhaux,X
-0b0101010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is2B,0,1,0,0,0,0,NONE,0,1,lhax,X
-0b1100010110,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is2B,1,0,0,0,0,0,NONE,0,1,lhbrx,X
-0b0100110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,lhzux,X
-0b0100010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,lhzx,X
-0b0000010100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is4B,0,0,0,1,0,0,NONE,0,1,lwarx,X
-0b0101110101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is4B,0,1,1,0,0,0,NONE,0,1,lwaux,X
-0b0101010101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is4B,0,1,0,0,0,0,NONE,0,1,lwax,X
-0b1000010110,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is4B,1,0,0,0,0,0,NONE,0,1,lwbrx,X
-0b0000110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,lwzux,X
-0b0000010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,lwzx,X
+0b1111010110,ALU,OP_ICBI,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,icbi,X
+0b0000010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,icbt,X
+0b0000001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,isel,A
+0b0000101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0001001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0001101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0010001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0010101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0011001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0011101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0100001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0100101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0101001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0101101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0110001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0110101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0111001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0111101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1000001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1000101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1001001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1001101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1010001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1010101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1011001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1011101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1100001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1100101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1101001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1101101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1110001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1110101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1111001111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b1111101111,ALU,OP_ISEL,RA_OR_ZERO,RB,NONE,RT,BC,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,isel,A
+0b0000110100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is1B,0,0,0,1,0,0,NONE,0,1,lbarx,X
+0b0001110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,NONE,0,1,lbzux,X
+0b0001010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,1,lbzx,X
+0b0001010100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is8B,0,0,0,1,0,0,NONE,0,1,ldarx,X
+0b1000010100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is8B,1,0,0,0,0,0,NONE,0,1,ldbrx,X
+0b0000110101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,ldux,X
+0b0000010101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,ldx,X
+0b0001110100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,0,0,1,0,0,NONE,0,1,lharx,X
+0b0101110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,1,1,0,0,0,NONE,0,1,lhaux,X
+0b0101010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,1,0,0,0,0,NONE,0,1,lhax,X
+0b1100010110,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is2B,1,0,0,0,0,0,NONE,0,1,lhbrx,X
+0b0100110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,lhzux,X
+0b0100010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,lhzx,X
+0b0000010100,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,0,0,1,0,0,NONE,0,1,lwarx,X
+0b0101110101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,1,1,0,0,0,NONE,0,1,lwaux,X
+0b0101010101,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,1,0,0,0,0,NONE,0,1,lwax,X
+0b1000010110,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is4B,1,0,0,0,0,0,NONE,0,1,lwbrx,X
+0b0000110111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,lwzux,X
+0b0000010111,LDST,OP_LOAD,RA_OR_ZERO,RB,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,lwzx,X
 0b1000000000,,,,,,,,,,,,,,,,,,,,,,,mcrxr,X
 0b1001000000,,,,,,,,,,,,,,,,,,,,,,,mcrxrx,X
-0b0000010011,CR,OP_MFCR,NONE,NONE,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mfcr/mfocrf,XFX
-0b0101010011,ALU,OP_MFSPR,SPR,NONE,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mfspr,XFX
-0b0100001001,DIV,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,modud,X
-0b0100001011,DIV,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,0,moduw,X
-0b1100001001,DIV,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,NONE,0,0,modsd,X
-0b1100001011,DIV,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,NONE,0,0,modsw,X
-0b0010010000,CR,OP_MTCRF,NONE,NONE,RS,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mtcrf/mtocrf,XFX
-0b0111010011,ALU,OP_MTSPR,NONE,NONE,RS,SPR,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mtspr,XFX
-0b0001001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulhd,XO
-0b0000001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,mulhdu,XO
-0b0001001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mulhw,XO
-0b0000001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,mulhwu,XO
-0b1001001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulhd,XO
-0b1000001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,mulhdu,XO
-0b1001001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mulhw,XO
-0b1000001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,mulhwu,XO
-0b0011101001,MUL,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulld,XO
-0b1011101001,MUL,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulldo,XO
-0b0011101011,MUL,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mullw,XO
-0b1011101011,MUL,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mullwo,XO
-0b0111011100,LOGICAL,OP_AND,NONE,RB,RS,RA,0,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,nand,X
-0b0001101000,ALU,OP_ADD,RA,NONE,NONE,RT,0,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,neg,XO
-0b1001101000,ALU,OP_ADD,RA,NONE,NONE,RT,0,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,nego,XO
-0b0001111100,LOGICAL,OP_OR,NONE,RB,RS,RA,0,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,nor,X
-0b0110111100,LOGICAL,OP_OR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,or,X
-0b0110011100,LOGICAL,OP_OR,NONE,RB,RS,RA,0,0,1,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,orc,X
-0b0001111010,LOGICAL,OP_POPCNT,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,0,popcntb,X
-0b0111111010,LOGICAL,OP_POPCNT,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,0,popcntd,X
-0b0101111010,LOGICAL,OP_POPCNT,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,popcntw,X
-0b0010111010,LOGICAL,OP_PRTY,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,0,prtyd,X
-0b0010011010,LOGICAL,OP_PRTY,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,prtyw,X
+0b0000010011,CR,OP_MFCR,NONE,NONE,NONE,RT,WHOLE_REG,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mfcr/mfocrf,XFX
+0b0101010011,ALU,OP_MFSPR,SPR,NONE,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mfspr,XFX
+0b0100001001,DIV,OP_MOD,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,modud,X
+0b0100001011,DIV,OP_MOD,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,0,moduw,X
+0b1100001001,DIV,OP_MOD,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,NONE,0,0,modsd,X
+0b1100001011,DIV,OP_MOD,RA,RB,NONE,RT,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,NONE,0,0,modsw,X
+0b0010010000,CR,OP_MTCRF,NONE,NONE,RS,NONE,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mtcrf/mtocrf,XFX
+0b0111010011,ALU,OP_MTSPR,NONE,NONE,RS,SPR,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mtspr,XFX
+0b0001001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulhd,XO
+0b0000001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,mulhdu,XO
+0b0001001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mulhw,XO
+0b0000001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,mulhwu,XO
+0b1001001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulhd,XO
+0b1000001001,MUL,OP_MUL_H64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,mulhdu,XO
+0b1001001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mulhw,XO
+0b1000001011,MUL,OP_MUL_H32,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,mulhwu,XO
+0b0011101001,MUL,OP_MUL_L64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulld,XO
+0b1011101001,MUL,OP_MUL_L64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulldo,XO
+0b0011101011,MUL,OP_MUL_L64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mullw,XO
+0b1011101011,MUL,OP_MUL_L64,RA,RB,NONE,RT,NONE,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mullwo,XO
+0b0111011100,LOGICAL,OP_AND,NONE,RB,RS,RA,NONE,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,nand,X
+0b0001101000,ALU,OP_ADD,RA,NONE,NONE,RT,NONE,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,neg,XO
+0b1001101000,ALU,OP_ADD,RA,NONE,NONE,RT,NONE,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,nego,XO
+0b0001111100,LOGICAL,OP_OR,NONE,RB,RS,RA,NONE,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,nor,X
+0b0110111100,LOGICAL,OP_OR,NONE,RB,RS,RA,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,or,X
+0b0110011100,LOGICAL,OP_OR,NONE,RB,RS,RA,NONE,0,1,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,orc,X
+0b0001111010,LOGICAL,OP_POPCNT,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,0,popcntb,X
+0b0111111010,LOGICAL,OP_POPCNT,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,0,popcntd,X
+0b0101111010,LOGICAL,OP_POPCNT,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,popcntw,X
+0b0010111010,LOGICAL,OP_PRTY,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,0,prtyd,X
+0b0010011010,LOGICAL,OP_PRTY,NONE,NONE,RS,RA,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,prtyw,X
 0b0010000000,,,,,,,,,,,,,,,,,,,,,,,setb,VX
-0b0000011011,SHIFT_ROT,OP_SHL,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,sld,X
-0b0000011000,SHIFT_ROT,OP_SHL,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,slw,X
-0b1100011010,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,srad,X
-0b1100111010,SHIFT_ROT,OP_SHR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,sradi,XS
-0b1100111011,SHIFT_ROT,OP_SHR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,sradi,XS
-0b1100011000,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,1,1,RC,0,0,sraw,X
-0b1100111000,SHIFT_ROT,OP_SHR,NONE,CONST_SH32,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,1,1,RC,0,0,srawi,X
-0b1000011011,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,srd,X
-0b1000011000,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,srw,X
-0b1010110110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is1B,0,0,0,1,0,0,RC,0,1,stbcx,X
-0b0011110111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,RC,0,1,stbux,X
-0b0011010111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,RC,0,1,stbx,X
-0b1010010100,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is8B,1,0,0,0,0,0,NONE,0,1,stdbrx,X
-0b0011010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is8B,0,0,0,1,0,0,NONE,0,1,stdcx,X
-0b0010110101,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,stdux,X
-0b0010010101,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,stdx,X
-0b1110010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is2B,1,0,0,0,0,0,NONE,0,1,sthbrx,X
-0b1011010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is2B,0,0,0,1,0,0,NONE,0,1,sthcx,X
-0b0110110111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,sthux,X
-0b0110010111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,sthx,X
-0b1010010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is4B,1,0,0,0,0,0,NONE,0,1,stwbrx,X
-0b0010010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is4B,0,0,0,1,0,0,NONE,0,1,stwcx,X
-0b0010110111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,stwux,X
-0b0010010111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,stwx,X
-0b0000101000,ALU,OP_ADD,RA,RB,NONE,RT,0,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,subf,XO
-0b1000101000,ALU,OP_ADD,RA,RB,NONE,RT,0,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,subfo,XO
-0b0000001000,ALU,OP_ADD,RA,RB,NONE,RT,0,0,1,0,ONE,1,NONE,0,0,0,0,0,0,RC,0,0,subfc,XO
-0b1000001000,ALU,OP_ADD,RA,RB,NONE,RT,0,0,1,0,ONE,1,NONE,0,0,0,0,0,0,RC,0,0,subfco,XO
-0b0010001000,ALU,OP_ADD,RA,RB,NONE,RT,0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfe,XO
-0b1010001000,ALU,OP_ADD,RA,RB,NONE,RT,0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfeo,XO
-0b0011101000,ALU,OP_ADD,RA,CONST_M1,NONE,RT,0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfme,XO
-0b1011101000,ALU,OP_ADD,RA,CONST_M1,NONE,RT,0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfmeo,XO
-0b0011001000,ALU,OP_ADD,RA,NONE,NONE,RT,0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfze,XO
-0b1011001000,ALU,OP_ADD,RA,NONE,NONE,RT,0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfzeo,XO
-0b1001010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,sync,X
-0b0001000100,TRAP,OP_TRAP,RA,RB,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,td,X
-0b0000000100,TRAP,OP_TRAP,RA,RB,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,1,tw,X
-0b0100111100,LOGICAL,OP_XOR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,xor,X
+0b0000011011,SHIFT_ROT,OP_SHL,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,sld,X
+0b0000011000,SHIFT_ROT,OP_SHL,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,slw,X
+0b1100011010,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,srad,X
+0b1100111010,SHIFT_ROT,OP_SHR,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,sradi,XS
+0b1100111011,SHIFT_ROT,OP_SHR,NONE,CONST_SH,RS,RA,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,sradi,XS
+0b1100011000,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,1,1,RC,0,0,sraw,X
+0b1100111000,SHIFT_ROT,OP_SHR,NONE,CONST_SH32,RS,RA,CR0,0,0,0,ZERO,1,NONE,0,0,0,0,1,1,RC,0,0,srawi,X
+0b1000011011,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,srd,X
+0b1000011000,SHIFT_ROT,OP_SHR,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,srw,X
+0b1010110110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,CR0,0,0,0,ZERO,0,is1B,0,0,0,1,0,0,RC,0,1,stbcx,X
+0b0011110111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,CR0,0,0,0,ZERO,0,is1B,0,0,1,0,0,0,RC,0,1,stbux,X
+0b0011010111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,CR0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,RC,0,1,stbx,X
+0b1010010100,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is8B,1,0,0,0,0,0,NONE,0,1,stdbrx,X
+0b0011010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is8B,0,0,0,1,0,0,NONE,0,1,stdcx,X
+0b0010110101,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,stdux,X
+0b0010010101,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,stdx,X
+0b1110010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is2B,1,0,0,0,0,0,NONE,0,1,sthbrx,X
+0b1011010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is2B,0,0,0,1,0,0,NONE,0,1,sthcx,X
+0b0110110111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is2B,0,0,1,0,0,0,NONE,0,1,sthux,X
+0b0110010111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is2B,0,0,0,0,0,0,NONE,0,1,sthx,X
+0b1010010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is4B,1,0,0,0,0,0,NONE,0,1,stwbrx,X
+0b0010010110,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is4B,0,0,0,1,0,0,NONE,0,1,stwcx,X
+0b0010110111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is4B,0,0,1,0,0,0,NONE,0,1,stwux,X
+0b0010010111,LDST,OP_STORE,RA_OR_ZERO,RB,RS,NONE,NONE,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,1,stwx,X
+0b0000101000,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,subf,XO
+0b1000101000,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,1,0,ONE,0,NONE,0,0,0,0,0,0,RC,0,0,subfo,XO
+0b0000001000,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,1,0,ONE,1,NONE,0,0,0,0,0,0,RC,0,0,subfc,XO
+0b1000001000,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,1,0,ONE,1,NONE,0,0,0,0,0,0,RC,0,0,subfco,XO
+0b0010001000,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfe,XO
+0b1010001000,ALU,OP_ADD,RA,RB,NONE,RT,CR0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfeo,XO
+0b0011101000,ALU,OP_ADD,RA,CONST_M1,NONE,RT,CR0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfme,XO
+0b1011101000,ALU,OP_ADD,RA,CONST_M1,NONE,RT,CR0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfmeo,XO
+0b0011001000,ALU,OP_ADD,RA,NONE,NONE,RT,CR0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfze,XO
+0b1011001000,ALU,OP_ADD,RA,NONE,NONE,RT,CR0,0,1,0,CA,1,NONE,0,0,0,0,0,0,RC,0,0,subfzeo,XO
+0b1001010110,ALU,OP_NOP,NONE,NONE,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,sync,X
+0b0001000100,TRAP,OP_TRAP,RA,RB,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,td,X
+0b0000000100,TRAP,OP_TRAP,RA,RB,NONE,NONE,NONE,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,1,tw,X
+0b0100111100,LOGICAL,OP_XOR,NONE,RB,RS,RA,CR0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,xor,X
index e86e670bfb4a7478bb761c1a8ea8b24b8fe11d13..0452200cc9e25853874f2a9fd4dd870edb5c8d27 100644 (file)
@@ -1,4 +1,4 @@
 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
-0,LDST,OP_LOAD,RA_OR_ZERO,CONST_DS,NONE,RT,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,ld,DS
-1,LDST,OP_LOAD,RA_OR_ZERO,CONST_DS,NONE,RT,0,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,ldu,DS
-2,LDST,OP_LOAD,RA_OR_ZERO,CONST_DS,NONE,RT,0,0,0,0,ZERO,0,is4B,0,1,0,0,0,0,NONE,0,1,lwa,DS
+0,LDST,OP_LOAD,RA_OR_ZERO,CONST_DS,NONE,RT,NONE,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,ld,DS
+1,LDST,OP_LOAD,RA_OR_ZERO,CONST_DS,NONE,RT,NONE,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,ldu,DS
+2,LDST,OP_LOAD,RA_OR_ZERO,CONST_DS,NONE,RT,NONE,0,0,0,ZERO,0,is4B,0,1,0,0,0,0,NONE,0,1,lwa,DS
index 6b7363fe259c47743cc35b26fb64d4aec02a481b..277d1af979885669309f33a3102911a06fac35a2 100644 (file)
@@ -1,3 +1,3 @@
 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
-0,LDST,OP_STORE,RA_OR_ZERO,CONST_DS,RS,NONE,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,std,DS
-1,LDST,OP_STORE,RA_OR_ZERO,CONST_DS,RS,NONE,0,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,stdu,DS
+0,LDST,OP_STORE,RA_OR_ZERO,CONST_DS,RS,NONE,NONE,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,1,std,DS
+1,LDST,OP_STORE,RA_OR_ZERO,CONST_DS,RS,NONE,NONE,0,0,0,ZERO,0,is8B,0,0,1,0,0,0,NONE,0,1,stdu,DS