SIGNEXT32
#define INSN_IMM_I(insn) SIGNEXT32(((insn) & 0xfff00000) >> 20, 12)
#define INSN_IMM_S(insn) SIGNEXT32(INSN_IMM_S_raw(insn), 12)
#define INSN_IMM_B(insn) SIGNEXT32(INSN_IMM_B_raw(insn), 13)
#define INSN_IMM_J(insn) SIGNEXT32(INSN_IMM_J_raw(insn), 21)
#define INSN16_IMM_CI_K(insn) SIGNEXT32(INSN16_IMM_CI_K_raw(insn), 6)
#define INSN16_IMM_CI_K12(insn) SIGNEXT32(INSN16_IMM_CI_K_raw(insn) << 12, 18)
#define INSN16_IMM_CI_K4(insn) SIGNEXT32(INSN16_IMM_CI_K4_raw(insn), 10)
#define INSN16_IMM_CJ(insn) SIGNEXT32(INSN16_IMM_CJ_raw(insn), 12)
#define INSN16_IMM_CB(insn) SIGNEXT32(INSN16_IMM_CB_raw(insn), 9)