From: Luke Kenneth Casson Leighton Date: Thu, 5 Mar 2020 18:02:47 +0000 (+0000) Subject: add "form" onto csv fields X-Git-Tag: convert-csv-opcode-to-binary~3200 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a17f846969852e0aee6eb30e1cedf73fd6e1026c;p=libreriscv.git add "form" onto csv fields --- diff --git a/openpower/isatables/major.csv b/openpower/isatables/major.csv index f9dca580e..133826022 100644 --- a/openpower/isatables/major.csv +++ b/openpower/isatables/major.csv @@ -1,35 +1,35 @@ -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 -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 -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. -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 -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 -28,ALU,OP_AND,NONE,CONST_UI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,ONE,0,0,andi. -29,ALU,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. -18,ALU,OP_B,NONE,CONST_LI,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,b -16,ALU,OP_BC,SPR,CONST_BD,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bc -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -7,ALU,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 -24,ALU,OP_OR,NONE,CONST_UI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,ori -25,ALU,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 -20,ALU,OP_RLC,RA,CONST_SH32,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwimi -21,ALU,OP_RLC,NONE,CONST_SH32,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwinm -23,ALU,OP_RLC,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,rlwnm -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 -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 -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 -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 -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 -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 -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 -2,ALU,OP_TDI,RA,CONST_SI,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,tdi -26,ALU,OP_XOR,NONE,CONST_UI,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,xori -27,ALU,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 +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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,OP_TDI,RA,CONST_SI,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,tdi,D +26,ALU,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,ALU,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 diff --git a/openpower/isatables/minor_19.csv b/openpower/isatables/minor_19.csv index 4ce102204..4b35b9c01 100644 --- a/openpower/isatables/minor_19.csv +++ b/openpower/isatables/minor_19.csv @@ -1,14 +1,14 @@ -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 -0b0000000000,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mcrf -0b0100000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crand -0b0010000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crandc -0b0100100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,creqv -0b0011100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnand -0b0000100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnor -0b0111000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cror -0b0110100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crorc -0b0110000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crxor -0b1000010000,ALU,OP_BCREG,SPR,SPR,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bcctr -0b0000010000,ALU,OP_BCREG,SPR,SPR,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bclr -0b1000110000,ALU,OP_BCREG,SPR,SPR,NONE,SPR,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,1,0,bctar -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 +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,ALU,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,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crand,XL +0b0010000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crandc,XL +0b0100100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,creqv,XL +0b0011100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnand,XL +0b0000100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crnor,XL +0b0111000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cror,XL +0b0110100001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crorc,XL +0b0110000001,ALU,OP_MCRF,NONE,NONE,NONE,NONE,1,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,crxor,XL +0b1000010000,ALU,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,ALU,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,ALU,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 diff --git a/openpower/isatables/minor_19_00000.csv b/openpower/isatables/minor_19_00000.csv index 8d96a0c34..bf8299313 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 -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 +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, diff --git a/openpower/isatables/minor_30.csv b/openpower/isatables/minor_30.csv index 63c345ccf..8713e7e95 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 -0b0100,ALU,OP_RLC,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldic -0b0101,ALU,OP_RLC,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldic -0b0000,ALU,OP_RLCL,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicl -0b0001,ALU,OP_RLCL,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicl -0b0010,ALU,OP_RLCR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicr -0b0011,ALU,OP_RLCR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldicr -0b0110,ALU,OP_RLC,RA,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldimi -0b0111,ALU,OP_RLC,RA,CONST_SH,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldimi -0b1000,ALU,OP_RLCL,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldcl -0b1001,ALU,OP_RLCR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,rldcr \ No newline at end of file +0b0100,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,OP_RLCR,NONE,RB,RS,RA,0,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 9583d8d6e..960d02047 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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -0b0000011100,ALU,OP_AND,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,and -0b0000111100,ALU,OP_AND,NONE,RB,RS,RA,0,0,1,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,andc -0b0011111100,,,,,,,,,,,,,,,,,,,,,,,bperm -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 -0b0111111100,ALU,OP_CMPB,NONE,RB,RS,RA,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,cmpb -0b0011100000,,,,,,,,,,,,,,,,,,,,,,cmpeqb -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 -0b0011000000,,,,,,,,,,,,,,,,,,,,,,,cmprb -0b0000111010,ALU,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,cntlzd -0b0000011010,ALU,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cntlzw -0b1000111010,ALU,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,cnttzd -0b1000011010,ALU,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cnttzw -0b1011110011,,,,,,,,,,,,,,,,,,,,,,,darn -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 -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 -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 -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 -0b1111110110,,,,,,,,,,,,,,,,,,,,,,,dcbz -0b0110001001,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdeu -0b1110001001,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdeuo -0b0110001011,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divweu -0b1110001011,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divweuo -0b0110101001,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divde -0b1110101001,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divdeo -0b0110101011,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divwe -0b1110101011,ALU,OP_DIVE,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divweo -0b0111001001,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divdu -0b1111001001,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,divduo -0b0111001011,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divwu -0b1111001011,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,divwuo -0b0111101001,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divd -0b1111101001,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,divdo -0b0111101011,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divw -0b1111101011,ALU,OP_DIV,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,divwo -0b0100011100,ALU,OP_XOR,NONE,RB,RS,RA,0,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,eqv -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 -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 -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 -0b1101111010,,,,,,,,,,,,,,,,,,,,,,,extswsli -0b1101111011,,,,,,,,,,,,,,,,,,,,,,,extswsli -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -0b1000000000,,,,,,,,,,,,,,,,,,,,,,,mcrxr -0b1001000000,,,,,,,,,,,,,,,,,,,,,,,mcrxrx -0b0000010011,ALU,OP_MFCR,NONE,NONE,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mfcr/mfocrf -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 -0b0100001001,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,modud -0b0100001011,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,0,moduw -0b1100001001,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,NONE,0,0,modsd -0b1100001011,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,NONE,0,0,modsw -0b0010010000,ALU,OP_MTCRF,NONE,NONE,RS,NONE,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mtcrf/mtocrf -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 -0b0001001001,ALU,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulhd -0b0000001001,ALU,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,mulhdu -0b0001001011,ALU,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mulhw -0b0000001011,ALU,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,mulhwu -0b1001001001,ALU,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulhd -0b1000001001,ALU,OP_MUL_H64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,mulhdu -0b1001001011,ALU,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mulhw -0b1000001011,ALU,OP_MUL_H32,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,mulhwu -0b0011101001,ALU,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulld -0b1011101001,ALU,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,0,1,RC,0,0,mulldo -0b0011101011,ALU,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mullw -0b1011101011,ALU,OP_MUL_L64,RA,RB,NONE,RT,0,1,0,0,ZERO,0,NONE,0,0,0,0,1,1,RC,0,0,mullwo -0b0111011100,ALU,OP_AND,NONE,RB,RS,RA,0,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,nand -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 -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 -0b0001111100,ALU,OP_OR,NONE,RB,RS,RA,0,0,0,1,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,nor -0b0110111100,ALU,OP_OR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,or -0b0110011100,ALU,OP_OR,NONE,RB,RS,RA,0,0,1,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,orc -0b0001111010,ALU,OP_POPCNT,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is1B,0,0,0,0,0,0,NONE,0,0,popcntb -0b0111111010,ALU,OP_POPCNT,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,0,popcntd -0b0101111010,ALU,OP_POPCNT,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,popcntw -0b0010111010,ALU,OP_PRTY,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is8B,0,0,0,0,0,0,NONE,0,0,prtyd -0b0010011010,ALU,OP_PRTY,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,prtyw -0b0010000000,,,,,,,,,,,,,,,,,,,,,,,setb -0b0000011011,ALU,OP_SHL,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,sld -0b0000011000,ALU,OP_SHL,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,slw -0b1100011010,ALU,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,srad -0b1100111010,ALU,OP_SHR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,sradi -0b1100111011,ALU,OP_SHR,NONE,CONST_SH,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,0,1,RC,0,0,sradi -0b1100011000,ALU,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,1,1,RC,0,0,sraw -0b1100111000,ALU,OP_SHR,NONE,CONST_SH32,RS,RA,0,0,0,0,ZERO,1,NONE,0,0,0,0,1,1,RC,0,0,srawi -0b1000011011,ALU,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,srd -0b1000011000,ALU,OP_SHR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,srw -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -0b0001000100,,,,,,,,,,,,,,,,,,,,,,,td -0b0000000100,ALU,OP_TW,RA,RB,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,tw -0b0100111100,ALU,OP_XOR,NONE,RB,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,0,xor +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,ALU,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,ALU,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,,,,,,,,,,,,,,,,,,,,,,,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,ALU,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,,,,,,,,,,,,,,,,,,,,,,cmpeqb, +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 +0b0011000000,,,,,,,,,,,,,,,,,,,,,,,cmprb, +0b0000111010,ALU,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,ALU,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,ALU,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,ALU,OP_CNTZ,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,RC,0,0,cnttzw,X +0b1011110011,,,,,,,,,,,,,,,,,,,,,,,darn, +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 +0b1111110110,,,,,,,,,,,,,,,,,,,,,,,dcbz,X +0b0110001001,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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 +0b1101111010,,,,,,,,,,,,,,,,,,,,,,,extswsli, +0b1101111011,,,,,,,,,,,,,,,,,,,,,,,extswsli, +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 +0b1000000000,,,,,,,,,,,,,,,,,,,,,,,mcrxr,X +0b1001000000,,,,,,,,,,,,,,,,,,,,,,,mcrxrx, +0b0000010011,ALU,OP_MFCR,NONE,NONE,NONE,RT,1,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,mfcr/mfocrf,XFB +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,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,modud, +0b0100001011,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,0,NONE,0,0,moduw, +0b1100001001,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,1,NONE,0,0,modsd, +0b1100001011,ALU,OP_MOD,RA,RB,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,1,1,NONE,0,0,modsw, +0b0010010000,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,OP_PRTY,NONE,NONE,RS,RA,0,0,0,0,ZERO,0,is4B,0,0,0,0,0,0,NONE,0,0,prtyw,X +0b0010000000,,,,,,,,,,,,,,,,,,,,,,,setb, +0b0000011011,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,ALU,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,,,,,,,,,,,,,,,,,,,,,,,td,X +0b0000000100,ALU,OP_TW,RA,RB,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,tw,X +0b0100111100,ALU,OP_XOR,NONE,RB,RS,RA,0,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 95e38e542..e86e670bf 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 -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 -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 -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 +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 diff --git a/openpower/isatables/minor_62.csv b/openpower/isatables/minor_62.csv index f639deb48..6b7363fe2 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 -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 -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 +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