CFI_BP
#define CFI_SP CFI_BP
#define is_RIP() ((modrm_rm & 7) == CFI_BP && modrm_mod == 0)
(sib_base != CFI_BP || modrm_mod != 0) : \
if (rm_is_mem(CFI_BP)) {
op->dest.reg = CFI_BP;
if (rm_is_mem(CFI_BP)) {
op->src.reg = CFI_BP;
case CFI_BP:
op->src.reg = CFI_BP;
op->dest.reg = CFI_BP;
*base = CFI_BP;
struct cfi_reg *bp = &cfi->regs[CFI_BP];
case CFI_BP:
case CFI_BP:
if (cfi->cfa.base == CFI_BP &&
check_reg_frame_pos(&cfi->regs[CFI_BP], -cfi->cfa.offset) &&
if (cfi->drap && cfi->regs[CFI_BP].base == CFI_BP)
if (op->src.reg == CFI_SP && op->dest.reg == CFI_BP &&
check_reg_frame_pos(®s[CFI_BP], -cfa->offset)) {
op->dest.reg == CFI_BP && cfi->drap) {
regs[CFI_BP].base = CFI_BP;
regs[CFI_BP].offset = -cfi->stack_size;
else if (op->src.reg == CFI_BP && op->dest.reg == CFI_SP &&
(cfa->base == CFI_BP || cfa->base == cfi->drap_reg)) {
cfi->stack_size = -cfi->regs[CFI_BP].offset;
if (op->dest.reg == CFI_BP && op->src.reg == CFI_SP &&
cfa->base = CFI_BP;
if (op->dest.reg == CFI_SP && op->src.reg == CFI_BP) {
if (cfa->base == CFI_BP && cfa->offset == 0) {
cfi->stack_size = -(op->src.offset + regs[CFI_BP].offset);
(cfi->drap_reg == CFI_UNDEFINED && cfa->base != CFI_BP)) {
op->dest.reg == CFI_BP) {
if (cfi->drap && op->src.reg == CFI_BP &&
if (cfi->drap && op->src.reg == CFI_BP &&
} else if (op->src.reg == CFI_BP && cfa->base == cfi->drap_reg) {
save_reg(cfi, op->src.reg, CFI_BP, -cfi->stack_size);
if (opts.stackval && insn_func(insn) && op->src.reg == CFI_BP &&
cfa->base != CFI_BP)
save_reg(cfi, op->src.reg, CFI_BP, op->dest.offset);