From: Michael Nolan Date: Thu, 21 May 2020 15:30:14 +0000 (-0400) Subject: Add CR selector field to decoder tables X-Git-Tag: convert-csv-opcode-to-binary~2617 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ba36f31ceedefcdd425a043d711f3646eb64c998;p=libreriscv.git Add CR selector field to decoder tables --- diff --git a/openpower/isatables/extra.csv b/openpower/isatables/extra.csv index c33eeb467..046bda15c 100644 --- a/openpower/isatables/extra.csv +++ b/openpower/isatables/extra.csv @@ -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 diff --git a/openpower/isatables/major.csv b/openpower/isatables/major.csv index fcc6a9025..1c3b2af4c 100644 --- a/openpower/isatables/major.csv +++ b/openpower/isatables/major.csv @@ -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 diff --git a/openpower/isatables/minor_19.csv b/openpower/isatables/minor_19.csv index df5bc72a0..7db0beed2 100644 --- a/openpower/isatables/minor_19.csv +++ b/openpower/isatables/minor_19.csv @@ -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 diff --git a/openpower/isatables/minor_19_00000.csv b/openpower/isatables/minor_19_00000.csv index d3febffc2..cff6bac60 100644 --- a/openpower/isatables/minor_19_00000.csv +++ b/openpower/isatables/minor_19_00000.csv @@ -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 diff --git a/openpower/isatables/minor_30.csv b/openpower/isatables/minor_30.csv index c1e5b8a59..9bfea912e 100644 --- a/openpower/isatables/minor_30.csv +++ b/openpower/isatables/minor_30.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 -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 diff --git a/openpower/isatables/minor_31.csv b/openpower/isatables/minor_31.csv index 939af5e6d..a740bc889 100644 --- a/openpower/isatables/minor_31.csv +++ b/openpower/isatables/minor_31.csv @@ -1,176 +1,176 @@ 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 diff --git a/openpower/isatables/minor_58.csv b/openpower/isatables/minor_58.csv index e86e670bf..0452200cc 100644 --- a/openpower/isatables/minor_58.csv +++ b/openpower/isatables/minor_58.csv @@ -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 diff --git a/openpower/isatables/minor_62.csv b/openpower/isatables/minor_62.csv index 6b7363fe2..277d1af97 100644 --- a/openpower/isatables/minor_62.csv +++ b/openpower/isatables/minor_62.csv @@ -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