riscv-opcodes
riscv-opcodes copied to clipboard
Make instr_dict.yaml more detailed
consider this instr_dict.yaml snippet of making extention rv*_c it has this c_sw: encoding: '----------------110-----------00' extension:
- rv_c mask: '0xe003' match: '0xc000' variable_fields:
- rs1_p
- rs2_p
- c_uimm7lo
- c_uimm7hi
i wish it would be more detailed and clear if the variable fields are bifurcated into immediate(or args ) and register fields like
args_field:
-
c_uimm7lo
-
c_uimm7hi register_field:
- rs1_p
- rs2_p
this will be helpfull to analyse and know registers of the instructions of such type like "rv.zcmp": "cm.mva01s c_sreg1 c_sreg2 1..0=2 15..13=5 12..10=3 6..5=3", "cm.mvsa01 c_sreg1 c_sreg2 1..0=2 15..13=5 12..10=3 6..5=1", "cm.popret c_rlist c_spimm 1..0=2 15..13=5 12..8=0x1E", "cm.pop c_rlist c_spimm 1..0=2 15..13=5 12..8=0x1A", "cm.push c_rlist c_spimm 1..0=2 15..13=5 12..8=0x18", "cm.popretz c_rlist c_spimm 1..0=2 15..13=5 12..8=0x1C"
since arg_lut.csv contains both register and imm fields,it is not clear to know what are registers and imm if there is the way to know it ,kindly let me know! thanks