Lines Matching refs:mem

41 	ir_mem mem;
46 mem.v =
48 mem =
54 return mem;
2931 static bool ir_is_same_spill_slot(ir_ctx *ctx, ir_ref ref, ir_mem mem)
2934 return IR_MEM_VAL(m) == IR_MEM_VAL(mem);
3002 static void ir_emit_load_mem_int(ir_ctx *ctx, ir_type type, ir_reg reg, ir_mem mem)
3007 | ASM_REG_MEM_OP mov, type, reg, mem
3035 static void ir_emit_load_mem_fp(ir_ctx *ctx, ir_type type, ir_reg reg, ir_mem mem)
3040 | ASM_FP_REG_MEM_OP movs, type, reg, mem
3043 static void ir_emit_load_mem(ir_ctx *ctx, ir_type type, ir_reg reg, ir_mem mem)
3046 ir_emit_load_mem_int(ctx, type, reg, mem);
3048 ir_emit_load_mem_fp(ctx, type, reg, mem);
3095 static void ir_emit_store_mem_int(ir_ctx *ctx, ir_type type, ir_mem mem, ir_reg reg)
3100 | ASM_MEM_REG_OP mov, type, mem, reg
3103 static void ir_emit_store_mem_fp(ir_ctx *ctx, ir_type type, ir_mem mem, ir_reg reg)
3108 | ASM_FP_MEM_REG_OP movs, type, mem, reg
3111 static void ir_emit_store_mem_imm(ir_ctx *ctx, ir_type type, ir_mem mem, int32_t imm)
3116 | ASM_MEM_IMM_OP mov, type, mem, imm
3119 static void ir_emit_store_mem_int_const(ir_ctx *ctx, ir_type type, ir_mem mem, ir_ref src, ir_reg t…
3132 || ir_emit_store_mem_int(ctx, type, mem, tmp_reg);
3134 | ASM_TMEM_TXT_OP mov, aword, mem, =>label
3147 ir_emit_store_mem_imm(ctx, type, mem, val);
3152 ir_emit_store_mem_int(ctx, type, mem, tmp_reg);
3157 static void ir_emit_store_mem_fp_const(ir_ctx *ctx, ir_type type, ir_mem mem, ir_ref src, ir_reg tm…
3162 ir_emit_store_mem_imm(ctx, IR_U32, mem, val->i32);
3164 ir_emit_store_mem_imm(ctx, IR_U64, mem, 0);
3167 ir_emit_store_mem_int(ctx, IR_U64, mem, tmp_reg);
3171 ir_emit_store_mem_fp(ctx, IR_DOUBLE, mem, tmp_fp_reg);
3175 static void ir_emit_store_mem(ir_ctx *ctx, ir_type type, ir_mem mem, ir_reg reg)
3178 ir_emit_store_mem_int(ctx, type, mem, reg);
3180 ir_emit_store_mem_fp(ctx, type, mem, reg);
3240 ir_mem mem;
3247 mem = IR_MEM_O((int32_t)(intptr_t)addr);
3250 mem = IR_MEM_O(addr_insn->val.i32);
3252 return mem;
3551 ir_mem mem;
3554 mem = ir_fuse_load(ctx, root, src);
3556 mem = ir_ref_spill_slot(ctx, src);
3558 ir_emit_load_mem(ctx, type, reg, mem);
3837 ir_mem mem;
3840 mem = ir_fuse_load(ctx, def, op2);
3842 mem = ir_ref_spill_slot(ctx, op2);
3849 | ASM_REG_MEM_OP add, type, def_reg, mem
3853 | ASM_REG_MEM_OP sub, type, def_reg, mem
3857 | ASM_REG_MEM_MUL imul, type, def_reg, mem
3860 | ASM_REG_MEM_OP or, type, def_reg, mem
3863 | ASM_REG_MEM_OP and, type, def_reg, mem
3866 | ASM_REG_MEM_OP xor, type, def_reg, mem
3910 ir_mem mem;
3913 mem = ir_fuse_load(ctx, def, op1);
3915 mem = ir_ref_spill_slot(ctx, op1);
3917 | ASM_REG_MEM_TXT_MUL imul, type, def_reg, mem, val
4044 ir_mem mem;
4047 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4050 mem = ir_var_spill_slot(ctx, insn->op2);
4061 | ASM_MEM_IMM_OP add, type, mem, val
4065 | ASM_MEM_IMM_OP sub, type, mem, val
4068 | ASM_MEM_IMM_OP or, type, mem, val
4071 | ASM_MEM_IMM_OP and, type, mem, val
4074 | ASM_MEM_IMM_OP xor, type, mem, val
4087 | ASM_MEM_REG_OP add, type, mem, op2_reg
4091 | ASM_MEM_REG_OP sub, type, mem, op2_reg
4094 | ASM_MEM_REG_OP or, type, mem, op2_reg
4097 | ASM_MEM_REG_OP and, type, mem, op2_reg
4100 | ASM_MEM_REG_OP xor, type, mem, op2_reg
4358 ir_mem mem;
4364 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4367 mem = ir_var_spill_slot(ctx, insn->op2);
4372 | ASM_MEM_IMM_OP shl, type, mem, shift
4375 | ASM_MEM_IMM_OP shr, type, mem, shift
4380 | ASM_MEM_IMM_OP and, type, mem, mask
4452 ir_mem mem;
4455 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4458 mem = ir_var_spill_slot(ctx, insn->op2);
4476 | ASM_MEM_TXT_OP shl, type, mem, cl
4479 | ASM_MEM_TXT_OP shr, type, mem, cl
4482 | ASM_MEM_TXT_OP sar, type, mem, cl
4485 | ASM_MEM_TXT_OP rol, type, mem, cl
4488 | ASM_MEM_TXT_OP ror, type, mem, cl
4550 ir_mem mem;
4557 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4560 mem = ir_var_spill_slot(ctx, insn->op2);
4567 | ASM_MEM_IMM_OP shl, type, mem, shift
4570 | ASM_MEM_IMM_OP shr, type, mem, shift
4573 | ASM_MEM_IMM_OP sar, type, mem, shift
4576 | ASM_MEM_IMM_OP rol, type, mem, shift
4579 | ASM_MEM_IMM_OP ror, type, mem, shift
4728 ir_mem mem;
4731 mem = ir_fuse_load(ctx, def, op1);
4733 mem = ir_ref_spill_slot(ctx, op1);
4741 | ASM_TXT_TMEM_OP lzcnt, Rw(def_reg), word, mem
4743 | ASM_TXT_TMEM_OP bsr, Rw(def_reg), word, mem
4748 | ASM_TXT_TMEM_OP tzcnt, Rw(def_reg), word, mem
4750 | ASM_TXT_TMEM_OP bsf, Rw(def_reg), word, mem
4753 | ASM_TXT_TMEM_OP popcnt, Rw(def_reg), word, mem
4759 | ASM_TXT_TMEM_OP lzcnt, Rd(def_reg), dword, mem
4761 | ASM_TXT_TMEM_OP bsr, Rd(def_reg), dword, mem
4766 | ASM_TXT_TMEM_OP tzcnt, Rd(def_reg), dword, mem
4768 | ASM_TXT_TMEM_OP bsf, Rd(def_reg), dword, mem
4771 | ASM_TXT_TMEM_OP popcnt, Rd(def_reg), dword, mem
4778 | ASM_TXT_TMEM_OP lzcnt, Rq(def_reg), qword, mem
4780 | ASM_TXT_TMEM_OP bsr, Rq(def_reg), qword, mem
4785 | ASM_TXT_TMEM_OP tzcnt, Rq(def_reg), qword, mem
4787 | ASM_TXT_TMEM_OP bsf, Rq(def_reg), qword, mem
4790 | ASM_TXT_TMEM_OP popcnt, Rq(def_reg), qword, mem
4938 ir_mem mem;
4941 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4944 mem = ir_var_spill_slot(ctx, insn->op2);
4948 | ASM_MEM_OP inc, type, mem
4950 | ASM_MEM_OP dec, type, mem
4952 | ASM_MEM_OP not, type, mem
4955 | ASM_MEM_OP neg, type, mem
5004 ir_mem mem = ir_ref_spill_slot(ctx, op1);
5006 | ASM_MEM_IMM_OP cmp, type, mem, 0
5025 ir_mem mem;
5056 mem = ir_fuse_load(ctx, def, op2);
5058 mem = ir_ref_spill_slot(ctx, op2);
5060 | ASM_MEM_OP imul, type, mem
5067 mem = ir_fuse_load(ctx, def, op2);
5069 mem = ir_ref_spill_slot(ctx, op2);
5071 | ASM_MEM_OP mul, type, mem
5089 mem = ir_fuse_load(ctx, def, op2);
5091 mem = ir_ref_spill_slot(ctx, op2);
5093 | ASM_MEM_OP idiv, type, mem
5105 mem = ir_fuse_load(ctx, def, op2);
5107 mem = ir_ref_spill_slot(ctx, op2);
5109 | ASM_MEM_OP div, type, mem
5343 ir_mem mem;
5346 mem = ir_fuse_load(ctx, def, op2);
5348 mem = ir_ref_spill_slot(ctx, op2);
5354 | ASM_SSE2_REG_MEM_OP adds, type, def_reg, mem
5357 | ASM_SSE2_REG_MEM_OP subs, type, def_reg, mem
5360 | ASM_SSE2_REG_MEM_OP muls, type, def_reg, mem
5363 | ASM_SSE2_REG_MEM_OP divs, type, def_reg, mem
5366 | ASM_SSE2_REG_MEM_OP mins, type, def_reg, mem
5369 | ASM_SSE2_REG_MEM_OP maxs, type, def_reg, mem
5450 ir_mem mem;
5453 mem = ir_fuse_load(ctx, def, op2);
5455 mem = ir_ref_spill_slot(ctx, op2);
5461 | ASM_AVX_REG_REG_MEM_OP vadds, type, def_reg, op1_reg, mem
5464 | ASM_AVX_REG_REG_MEM_OP vsubs, type, def_reg, op1_reg, mem
5467 | ASM_AVX_REG_REG_MEM_OP vmuls, type, def_reg, op1_reg, mem
5470 | ASM_AVX_REG_REG_MEM_OP vdivs, type, def_reg, op1_reg, mem
5473 | ASM_AVX_REG_REG_MEM_OP vmins, type, def_reg, op1_reg, mem
5476 | ASM_AVX_REG_REG_MEM_OP vmaxs, type, def_reg, op1_reg, mem
5499 ir_mem mem;
5502 mem = ir_fuse_load(ctx, root, op2);
5504 mem = ir_ref_spill_slot(ctx, op2);
5506 | ASM_REG_MEM_OP cmp, type, op1_reg, mem
5511 ir_mem mem;
5514 mem = ir_fuse_load(ctx, root, op1);
5516 mem = ir_ref_spill_slot(ctx, op1);
5519 | ASM_MEM_REG_OP cmp, type, mem, op2_reg
5522 | ASM_MEM_IMM_OP cmp, type, mem, val
5590 static void _ir_emit_setcc_int_mem(ir_ctx *ctx, uint8_t op, ir_mem mem)
5600 | ASM_TMEM_OP sete, byte, mem
5603 | ASM_TMEM_OP setne, byte, mem
5606 | ASM_TMEM_OP setl, byte, mem
5609 | ASM_TMEM_OP setge, byte, mem
5612 | ASM_TMEM_OP setle, byte, mem
5615 | ASM_TMEM_OP setg, byte, mem
5618 | ASM_TMEM_OP setb, byte, mem
5621 | ASM_TMEM_OP setae, byte, mem
5624 | ASM_TMEM_OP setbe, byte, mem
5627 | ASM_TMEM_OP seta, byte, mem
5733 ir_mem mem;
5736 mem = ir_fuse_load(ctx, root, op2);
5738 mem = ir_ref_spill_slot(ctx, op2);
5740 | ASM_REG_MEM_OP test, type, op1_reg, mem
5745 ir_mem mem;
5748 mem = ir_fuse_load(ctx, root, op1);
5750 mem = ir_ref_spill_slot(ctx, op1);
5759 | ASM_MEM_REG_OP test, type, mem, op2_reg
5763 | ASM_MEM_IMM_OP test, type, mem, val
5833 ir_mem mem;
5836 mem = ir_fuse_load(ctx, root, op2);
5838 mem = ir_ref_spill_slot(ctx, op2);
5840 | ASM_FP_REG_MEM_OP ucomis, type, op1_reg, mem
6160 ir_mem mem;
6163 mem = ir_fuse_load(ctx, def, insn->op2);
6165 mem = ir_ref_spill_slot(ctx, insn->op2);
6167 | ASM_MEM_IMM_OP cmp, type, mem, 0
6214 ir_mem mem = ir_ref_spill_slot(ctx, op1);
6216 | ASM_MEM_IMM_OP cmp, op1_type, mem, 0
6698 ir_mem mem;
6701 mem = ir_fuse_load(ctx, def, insn->op1);
6703 mem = ir_ref_spill_slot(ctx, insn->op1);
6708 | ASM_TXT_TMEM_OP movsx, Rw(def_reg), byte, mem
6710 | ASM_TXT_TMEM_OP movsx, Rd(def_reg), byte, mem
6715 | ASM_TXT_TMEM_OP movsx, Rq(def_reg), byte, mem
6720 | ASM_TXT_TMEM_OP movsx, Rd(def_reg), word, mem
6725 | ASM_TXT_TMEM_OP movsx, Rq(def_reg), word, mem
6733 | ASM_TXT_TMEM_OP movsxd, Rq(def_reg), dword, mem
6797 ir_mem mem;
6800 mem = ir_fuse_load(ctx, def, insn->op1);
6802 mem = ir_ref_spill_slot(ctx, insn->op1);
6807 | ASM_TXT_TMEM_OP movzx, Rw(def_reg), byte, mem
6809 | ASM_TXT_TMEM_OP movzx, Rd(def_reg), byte, mem
6814 | ASM_TXT_TMEM_OP movzx, Rq(def_reg), byte, mem
6819 | ASM_TXT_TMEM_OP movzx, Rd(def_reg), word, mem
6824 | ASM_TXT_TMEM_OP movzx, Rq(def_reg), word, mem
6831 | ASM_TXT_TMEM_OP mov, Rd(def_reg), dword, mem
6939 ir_mem mem;
6942 mem = ir_fuse_load(ctx, def, insn->op1);
6944 mem = ir_ref_spill_slot(ctx, insn->op1);
6950 | ASM_TXT_TMEM_OP mov, Rq(def_reg), qword, mem
6954 | ASM_TXT_TMEM_OP mov, Rd(def_reg), dword, mem
6986 ir_mem mem;
6989 mem = ir_fuse_load(ctx, def, insn->op1);
6991 mem = ir_ref_spill_slot(ctx, insn->op1);
6994 | ASM_FP_REG_MEM_OP movs, dst_type, def_reg, mem
7104 ir_mem mem;
7108 mem = ir_fuse_load(ctx, def, insn->op1);
7110 mem = ir_ref_spill_slot(ctx, insn->op1);
7117 …M_TXT_TXT_TMEM_OP vcvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7120 | ASM_TXT_TMEM_OP cvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7126 …M_TXT_TXT_TMEM_OP vcvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7129 | ASM_TXT_TMEM_OP cvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7138 …M_TXT_TXT_TMEM_OP vcvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7141 | ASM_TXT_TMEM_OP cvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7147 …M_TXT_TXT_TMEM_OP vcvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7150 | ASM_TXT_TMEM_OP cvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7255 ir_mem mem;
7258 mem = ir_fuse_load(ctx, def, insn->op1);
7260 mem = ir_ref_spill_slot(ctx, insn->op1);
7266 | ASM_TXT_TMEM_OP vcvttsd2si, Rd(def_reg), qword, mem
7268 | ASM_TXT_TMEM_OP cvttsd2si, Rd(def_reg), qword, mem
7273 | ASM_TXT_TMEM_OP vcvttss2si, Rd(def_reg), dword, mem
7275 | ASM_TXT_TMEM_OP cvttss2si, Rd(def_reg), dword, mem
7283 | ASM_TXT_TMEM_OP vcvttsd2si, Rq(def_reg), qword, mem
7285 | ASM_TXT_TMEM_OP cvttsd2si, Rq(def_reg), qword, mem
7290 | ASM_TXT_TMEM_OP vcvttss2si, Rq(def_reg), dword, mem
7292 | ASM_TXT_TMEM_OP cvttss2si, Rq(def_reg), dword, mem
7356 ir_mem mem;
7359 mem = ir_fuse_load(ctx, def, insn->op1);
7361 mem = ir_ref_spill_slot(ctx, insn->op1);
7366 …M_TXT_TXT_TMEM_OP vcvtsd2ss, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7368 | ASM_TXT_TMEM_OP cvtsd2ss, xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7373 …M_TXT_TXT_TMEM_OP vcvtss2sd, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7375 | ASM_TXT_TMEM_OP cvtss2sd, xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7444 ir_mem mem;
7449 mem = ir_var_spill_slot(ctx, insn->op1);
7450 fp = IR_MEM_BASE(mem);
7451 offset = IR_MEM_OFFSET(mem);
7464 ir_mem mem;
7468 mem = IR_MEM_BO(fp, IR_SPILL_POS_TO_OFFSET(var_insn->op3));
7474 ir_emit_load_mem(ctx, type, def_reg, mem);
7487 ir_mem mem;
7491 mem = IR_MEM_BO(fp, IR_SPILL_POS_TO_OFFSET(var_insn->op3));
7499 ir_emit_store_mem_int_const(ctx, type, mem, insn->op3, op3_reg, 0);
7506 ir_emit_store_mem_int(ctx, type, mem, op3_reg);
7516 ir_mem mem;
7520 mem = IR_MEM_BO(fp, IR_SPILL_POS_TO_OFFSET(var_insn->op3));
7528 ir_emit_store_mem_fp_const(ctx, type, mem, insn->op3, IR_REG_NONE, op3_reg);
7535 ir_emit_store_mem_fp(ctx, type, mem, op3_reg);
7544 ir_mem mem;
7557 mem = IR_MEM_B(op2_reg);
7559 mem = ir_fuse_addr_const(ctx, insn->op2);
7562 mem = ir_fuse_addr(ctx, def, insn->op2);
7563 if (IR_REG_SPILLED(ctx->regs[def][0]) && ir_is_same_spill_slot(ctx, def, mem)) {
7565 ir_emit_load_mem_int(ctx, type, def_reg, mem);
7572 ir_emit_load_mem_int(ctx, type, def_reg, mem);
7583 ir_mem mem;
7596 mem = IR_MEM_B(op2_reg);
7598 mem = ir_fuse_addr_const(ctx, insn->op2);
7601 mem = ir_fuse_addr(ctx, def, insn->op2);
7602 if (IR_REG_SPILLED(ctx->regs[def][0]) && ir_is_same_spill_slot(ctx, def, mem)) {
7604 ir_emit_load_mem_fp(ctx, type, def_reg, mem);
7611 ir_emit_load_mem_fp(ctx, type, def_reg, mem);
7623 ir_mem mem;
7631 mem = IR_MEM_B(op2_reg);
7633 mem = ir_fuse_addr_const(ctx, insn->op2);
7636 mem = ir_fuse_addr(ctx, ref, insn->op2);
7640 && ir_is_same_spill_slot(ctx, insn->op3, mem)) {
7651 ir_emit_store_mem_int_const(ctx, type, mem, insn->op3, op3_reg, 0);
7658 ir_emit_store_mem_int(ctx, type, mem, op3_reg);
7665 ir_mem mem;
7680 mem = IR_MEM_B(addr_reg);
7682 mem = ir_fuse_addr_const(ctx, insn->op2);
7685 mem = ir_fuse_addr(ctx, ref, insn->op2);
7700 _ir_emit_setcc_int_mem(ctx, op, mem);
7708 ir_mem mem;
7717 mem = IR_MEM_B(op2_reg);
7719 mem = ir_fuse_addr_const(ctx, insn->op2);
7722 mem = ir_fuse_addr(ctx, ref, insn->op2);
7726 && ir_is_same_spill_slot(ctx, insn->op3, mem)) {
7737 ir_emit_store_mem_fp_const(ctx, type, mem, insn->op3, IR_REG_NONE, op3_reg);
7744 ir_emit_store_mem_fp(ctx, type, mem, op3_reg);
8679 ir_mem mem = ir_ref_spill_slot(ctx, arg);
8682 ir_emit_load_mem_int(ctx, type, dst_reg, mem);
8685 | ASM_TXT_TMEM_OP movsx, Rd(dst_reg), word, mem
8687 | ASM_TXT_TMEM_OP movzx, Rd(dst_reg), word, mem
8692 | ASM_TXT_TMEM_OP movsx, Rd(dst_reg), byte, mem
8694 | ASM_TXT_TMEM_OP movzx, Rd(dst_reg), byte, mem
8705 ir_mem mem = IR_MEM_BO(IR_REG_STACK_POINTER, stack_offset);
8709 ir_emit_store_mem_int_const(ctx, type, mem, arg, tmp_reg, 1);
8713 ir_emit_store_mem_int(ctx, type, mem, tmp_reg);
8717 ir_emit_store_mem_int(ctx, type, mem, src_reg);
8721 ir_emit_store_mem_fp_const(ctx, type, mem, arg, tmp_reg, tmp_fp_reg);
8725 ir_emit_store_mem_fp(ctx, IR_DOUBLE, mem, tmp_fp_reg);
8729 ir_emit_store_mem_fp(ctx, type, mem, src_reg);
8808 ir_mem mem;
8811 mem = ir_fuse_load(ctx, def, insn->op2);
8813 mem = ir_ref_spill_slot(ctx, insn->op2);
8816 | ASM_TMEM_OP call, aword, mem
8948 ir_mem mem;
8951 mem = ir_fuse_load(ctx, def, insn->op2);
8953 mem = ir_ref_spill_slot(ctx, insn->op2);
8955 | ASM_TMEM_OP jmp, aword, mem
8982 ir_mem mem = ir_fuse_load(ctx, def, insn->op2);
8983 | ASM_TMEM_OP jmp, aword, mem
8991 ir_mem mem = ir_ref_spill_slot(ctx, insn->op2);
8993 | ASM_TMEM_OP jmp, aword, mem
9269 ir_mem mem;
9272 mem = ir_fuse_load(ctx, def, insn->op2);
9274 mem = ir_ref_spill_slot(ctx, insn->op2);
9276 | ASM_MEM_IMM_OP cmp, type, mem, 0
9431 ir_mem mem = ir_fuse_addr(ctx, def, def);
9435 if (IR_MEM_BASE(mem) == def_reg
9436 && IR_MEM_OFFSET(mem) == 0
9437 && IR_MEM_SCALE(mem) == 1
9438 && IR_MEM_INDEX(mem) != IR_REG_NONE) {
9439 ir_reg reg = IR_MEM_INDEX(mem);
9441 } else if (IR_MEM_INDEX(mem) == def_reg
9442 && IR_MEM_OFFSET(mem) == 0
9443 && IR_MEM_SCALE(mem) == 1
9444 && IR_MEM_BASE(mem) != IR_REG_NONE) {
9445 ir_reg reg = IR_MEM_BASE(mem);
9448 | ASM_TXT_TMEM_OP lea, Rd(def_reg), dword, mem
9451 if (IR_MEM_BASE(mem) == def_reg
9452 && IR_MEM_OFFSET(mem) == 0
9453 && IR_MEM_SCALE(mem) == 1
9454 && IR_MEM_INDEX(mem) != IR_REG_NONE) {
9455 ir_reg reg = IR_MEM_INDEX(mem);
9457 } else if (IR_MEM_INDEX(mem) == def_reg
9458 && IR_MEM_OFFSET(mem) == 0
9459 && IR_MEM_SCALE(mem) == 1
9460 && IR_MEM_BASE(mem) != IR_REG_NONE) {
9461 ir_reg reg = IR_MEM_BASE(mem);
9464 | ASM_TXT_TMEM_OP lea, Ra(def_reg), aword, mem