INSN_F3
INSN_F3("fence", MISCMEM_FENCE, RD_0 | RS1_0 | FENCEFM, FENCEIMM),
INSN_F3("fence.i", MISCMEM_FENCEI, RD_0 | RS1_0 | IMM_0, 0),
INSN_F3("lb", LOAD_LB, 0, MEMORYIMM),
INSN_F3("lh", LOAD_LH, 0, MEMORYIMM),
INSN_F3("lw", LOAD_LW, 0, MEMORYIMM),
INSN_F3("ld", LOAD_LD, 0, MEMORYIMM),
INSN_F3("lbu", LOAD_LBU, 0, MEMORYIMM),
INSN_F3("lhu", LOAD_LHU, 0, MEMORYIMM),
INSN_F3("lwu", LOAD_LWU, 0, MEMORYIMM),
INSN_F3("flw", LOADFP_FLW, 0, MEMORYIMM | RD_FREG),
INSN_F3("fld", LOADFP_FLD, 0, MEMORYIMM | RD_FREG),
INSN_F3("flq", LOADFP_FLQ, 0, MEMORYIMM | RD_FREG),
INSN_F3("nop", OP_ADDSUB, RD_0 | RS1_0 | IMM_0, 0),
INSN_F3("addi", OP_ADDSUB, 0, 0),
INSN_F3("slti", OP_SLT, 0, 0),
INSN_F3("sltiu", OP_SLTU, 0, 0),
INSN_F3("xori", OP_XOR, 0, 0),
INSN_F3("ori", OP_OR, 0, 0),
INSN_F3("andi", OP_AND, 0, 0),
INSN_F3("addiw", OP_ADDSUB, 0, 0),
INSN_F3("sb", STORE_SB, 0, MEMORYIMM),
INSN_F3("sh", STORE_SH, 0, MEMORYIMM),
INSN_F3("sw", STORE_SW, 0, MEMORYIMM),
INSN_F3("sd", STORE_SD, 0, MEMORYIMM),
INSN_F3("fsw", STOREFP_FSW, 0, MEMORYIMM | RS2_FREG),
INSN_F3("fsd", STOREFP_FSD, 0, MEMORYIMM | RS2_FREG),
INSN_F3("fsq", STOREFP_FSQ, 0, MEMORYIMM | RS2_FREG),
INSN_F3("beq", BRANCH_BEQ, 0, BRANCHIMM),
INSN_F3("bne", BRANCH_BNE, 0, BRANCHIMM),
INSN_F3("blt", BRANCH_BLT, 0, BRANCHIMM),
INSN_F3("bge", BRANCH_BGE, 0, BRANCHIMM),
INSN_F3("bltu", BRANCH_BLTU, 0, BRANCHIMM),
INSN_F3("bgeu", BRANCH_BGEU, 0, BRANCHIMM),
INSN_F3("csrw", SYSTEM_CSRRW, RD_0, CSRIMM),
INSN_F3("csrrw", SYSTEM_CSRRW, 0, CSRIMM),
INSN_F3("csrr", SYSTEM_CSRRS, RS1_0, CSRIMM),
INSN_F3("csrrs", SYSTEM_CSRRS, 0, CSRIMM),
INSN_F3("csrrc", SYSTEM_CSRRC, 0, CSRIMM),
INSN_F3("csrwi", SYSTEM_CSRRWI, RD_0, CSRIIMM),
INSN_F3("csrrwi", SYSTEM_CSRRWI, 0, CSRIIMM),
INSN_F3("csrrsi", SYSTEM_CSRRSI, 0, CSRIIMM),
INSN_F3("csrrci", SYSTEM_CSRRCI, 0, CSRIIMM),