SignExtend
return SignExtend(26, INSN_FMT_IMM26(inst), 4) + pc;
return SignExtend(19, INSN_FMT_IMM19(inst), 4) + pc;
return SignExtend(14, INSN_FMT_IMM14(inst), 4) + pc;
int64_t imm7 = SignExtend(7, (insn >> 15) & 0x7f, 8);
int64_t imm7 = SignExtend(7, (insn >> 15) & 0x7f, 8);
int64_t imm9 = SignExtend(9, (insn >> 12) & 0x1ff, 1);
PRINTADDR(SignExtend(21, imm, 1) + pc);
PRINTADDR(SignExtend(21, imm, 4096) + (pc & -4096));
PRINTADDR(SignExtend(26, imm26, 4) + pc);
PRINTADDR(SignExtend(19, imm19, 4) + pc);
PRINTADDR(SignExtend(26, imm26, 4) + pc);
PRINTADDR(SignExtend(19, imm19, 4) + pc);
PRINTADDR(SignExtend(19, imm19, 4) + pc);
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, 4));
SignExtend(7, imm7, 4));
SignExtend(7, imm7, 4));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
PRINTADDR(SignExtend(19, imm19, 4) + pc);
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
PRINTADDR(SignExtend(19, imm19, 4) + pc);
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(12, imm12, 8));
PRINTADDR(SignExtend(19, imm19, 4) + pc);
SignExtend(9, imm9, 1));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(7, imm7, (sf == 0) ? 4 : 8));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));
PRINTADDR(SignExtend(14, imm14, 4) + pc);
PRINTADDR(SignExtend(14, imm14, 4) + pc);
SignExtend(7, imm7, (4 << opc)));
SignExtend(7, imm7, (4 << opc)));
SignExtend(7, imm7, (4 << opc)));
SignExtend(7, imm7, (4 << opc)));
SignExtend(9, imm9, 1));
SignExtend(9, imm9, 1));