# Major opcodes
+decodes using f_in.insn(31 downto 26)
+
[[!table format=csv file="openpower/isatables/major.csv"]]
# Minor opcode 19
+valid from table using f_in.insn(10 downto 1)
+
+decodes using f_in.insn(5) & f_in.insn(3) & f_in.insn(2)
+
[[!table format=csv file="openpower/isatables/minor_19.csv"]]
# Minor opcode 30
+decodes using f_in.insn(4 downto 1)
+
[[!table format=csv file="openpower/isatables/minor_30.csv"]]
# Minor opcode 31
+decodes using f_in.insn(10 downto 1)
+
[[!table format=csv file="openpower/isatables/minor_31.csv"]]
# Minor opcode 58
+decodes using f_in.insn(1 downto 0)
+
[[!table format=csv file="openpower/isatables/minor_58.csv"]]
# Minor opcode 62
+decodes using f_in.insn(1 downto 0)
+
[[!table format=csv file="openpower/isatables/minor_62.csv"]]
# Extra opcodes
+These can match against the (full) row[0] spec: nmigen Case supports "-" as
+"don't care"
+
[[!table format=csv file="openpower/isatables/extra.csv"]]
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
-attn,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,attn
-nop,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,nop
-sim_cfg,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
+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
+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
+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