Lines Matching refs:mem
41 ir_mem mem;
46 mem.v =
48 mem =
54 return mem;
2955 static bool ir_is_same_spill_slot(ir_ctx *ctx, ir_ref ref, ir_mem mem)
2958 return IR_MEM_VAL(m) == IR_MEM_VAL(mem);
3026 static void ir_emit_load_mem_int(ir_ctx *ctx, ir_type type, ir_reg reg, ir_mem mem)
3031 | ASM_REG_MEM_OP mov, type, reg, mem
3059 static void ir_emit_load_mem_fp(ir_ctx *ctx, ir_type type, ir_reg reg, ir_mem mem)
3064 | ASM_FP_REG_MEM_OP movs, type, reg, mem
3067 static void ir_emit_load_mem(ir_ctx *ctx, ir_type type, ir_reg reg, ir_mem mem)
3070 ir_emit_load_mem_int(ctx, type, reg, mem);
3072 ir_emit_load_mem_fp(ctx, type, reg, mem);
3119 static void ir_emit_store_mem_int(ir_ctx *ctx, ir_type type, ir_mem mem, ir_reg reg)
3124 | ASM_MEM_REG_OP mov, type, mem, reg
3127 static void ir_emit_store_mem_fp(ir_ctx *ctx, ir_type type, ir_mem mem, ir_reg reg)
3132 | ASM_FP_MEM_REG_OP movs, type, mem, reg
3135 static void ir_emit_store_mem_imm(ir_ctx *ctx, ir_type type, ir_mem mem, int32_t imm)
3140 | ASM_MEM_IMM_OP mov, type, mem, imm
3143 static void ir_emit_store_mem_int_const(ir_ctx *ctx, ir_type type, ir_mem mem, ir_ref src, ir_reg t…
3156 || ir_emit_store_mem_int(ctx, type, mem, tmp_reg);
3158 | ASM_TMEM_TXT_OP mov, aword, mem, =>label
3171 ir_emit_store_mem_imm(ctx, type, mem, val);
3176 ir_emit_store_mem_int(ctx, type, mem, tmp_reg);
3181 static void ir_emit_store_mem_fp_const(ir_ctx *ctx, ir_type type, ir_mem mem, ir_ref src, ir_reg tm…
3186 ir_emit_store_mem_imm(ctx, IR_U32, mem, val->i32);
3188 ir_emit_store_mem_imm(ctx, IR_U64, mem, 0);
3191 ir_emit_store_mem_int(ctx, IR_U64, mem, tmp_reg);
3195 ir_emit_store_mem_fp(ctx, IR_DOUBLE, mem, tmp_fp_reg);
3199 static void ir_emit_store_mem(ir_ctx *ctx, ir_type type, ir_mem mem, ir_reg reg)
3202 ir_emit_store_mem_int(ctx, type, mem, reg);
3204 ir_emit_store_mem_fp(ctx, type, mem, reg);
3264 ir_mem mem;
3271 mem = IR_MEM_O((int32_t)(intptr_t)addr);
3274 mem = IR_MEM_O(addr_insn->val.i32);
3276 return mem;
3588 ir_mem mem;
3591 mem = ir_fuse_load(ctx, root, src);
3593 mem = ir_ref_spill_slot(ctx, src);
3595 ir_emit_load_mem(ctx, type, reg, mem);
3874 ir_mem mem;
3877 mem = ir_fuse_load(ctx, def, op2);
3879 mem = ir_ref_spill_slot(ctx, op2);
3886 | ASM_REG_MEM_OP add, type, def_reg, mem
3890 | ASM_REG_MEM_OP sub, type, def_reg, mem
3894 | ASM_REG_MEM_MUL imul, type, def_reg, mem
3897 | ASM_REG_MEM_OP or, type, def_reg, mem
3900 | ASM_REG_MEM_OP and, type, def_reg, mem
3903 | ASM_REG_MEM_OP xor, type, def_reg, mem
3947 ir_mem mem;
3950 mem = ir_fuse_load(ctx, def, op1);
3952 mem = ir_ref_spill_slot(ctx, op1);
3954 | ASM_REG_MEM_TXT_MUL imul, type, def_reg, mem, val
4081 ir_mem mem;
4084 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4087 mem = ir_var_spill_slot(ctx, insn->op2);
4098 | ASM_MEM_IMM_OP add, type, mem, val
4102 | ASM_MEM_IMM_OP sub, type, mem, val
4105 | ASM_MEM_IMM_OP or, type, mem, val
4108 | ASM_MEM_IMM_OP and, type, mem, val
4111 | ASM_MEM_IMM_OP xor, type, mem, val
4124 | ASM_MEM_REG_OP add, type, mem, op2_reg
4128 | ASM_MEM_REG_OP sub, type, mem, op2_reg
4131 | ASM_MEM_REG_OP or, type, mem, op2_reg
4134 | ASM_MEM_REG_OP and, type, mem, op2_reg
4137 | ASM_MEM_REG_OP xor, type, mem, op2_reg
4395 ir_mem mem;
4401 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4404 mem = ir_var_spill_slot(ctx, insn->op2);
4409 | ASM_MEM_IMM_OP shl, type, mem, shift
4412 | ASM_MEM_IMM_OP shr, type, mem, shift
4417 | ASM_MEM_IMM_OP and, type, mem, mask
4489 ir_mem mem;
4492 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4495 mem = ir_var_spill_slot(ctx, insn->op2);
4513 | ASM_MEM_TXT_OP shl, type, mem, cl
4516 | ASM_MEM_TXT_OP shr, type, mem, cl
4519 | ASM_MEM_TXT_OP sar, type, mem, cl
4522 | ASM_MEM_TXT_OP rol, type, mem, cl
4525 | ASM_MEM_TXT_OP ror, type, mem, cl
4587 ir_mem mem;
4594 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4597 mem = ir_var_spill_slot(ctx, insn->op2);
4604 | ASM_MEM_IMM_OP shl, type, mem, shift
4607 | ASM_MEM_IMM_OP shr, type, mem, shift
4610 | ASM_MEM_IMM_OP sar, type, mem, shift
4613 | ASM_MEM_IMM_OP rol, type, mem, shift
4616 | ASM_MEM_IMM_OP ror, type, mem, shift
4765 ir_mem mem;
4768 mem = ir_fuse_load(ctx, def, op1);
4770 mem = ir_ref_spill_slot(ctx, op1);
4778 | ASM_TXT_TMEM_OP lzcnt, Rw(def_reg), word, mem
4780 | ASM_TXT_TMEM_OP bsr, Rw(def_reg), word, mem
4785 | ASM_TXT_TMEM_OP tzcnt, Rw(def_reg), word, mem
4787 | ASM_TXT_TMEM_OP bsf, Rw(def_reg), word, mem
4790 | ASM_TXT_TMEM_OP popcnt, Rw(def_reg), word, mem
4796 | ASM_TXT_TMEM_OP lzcnt, Rd(def_reg), dword, mem
4798 | ASM_TXT_TMEM_OP bsr, Rd(def_reg), dword, mem
4803 | ASM_TXT_TMEM_OP tzcnt, Rd(def_reg), dword, mem
4805 | ASM_TXT_TMEM_OP bsf, Rd(def_reg), dword, mem
4808 | ASM_TXT_TMEM_OP popcnt, Rd(def_reg), dword, mem
4815 | ASM_TXT_TMEM_OP lzcnt, Rq(def_reg), qword, mem
4817 | ASM_TXT_TMEM_OP bsr, Rq(def_reg), qword, mem
4822 | ASM_TXT_TMEM_OP tzcnt, Rq(def_reg), qword, mem
4824 | ASM_TXT_TMEM_OP bsf, Rq(def_reg), qword, mem
4827 | ASM_TXT_TMEM_OP popcnt, Rq(def_reg), qword, mem
4975 ir_mem mem;
4978 mem = ir_fuse_mem(ctx, def, def, insn, ctx->regs[def][2]);
4981 mem = ir_var_spill_slot(ctx, insn->op2);
4985 | ASM_MEM_OP inc, type, mem
4987 | ASM_MEM_OP dec, type, mem
4989 | ASM_MEM_OP not, type, mem
4992 | ASM_MEM_OP neg, type, mem
5041 ir_mem mem = ir_ref_spill_slot(ctx, op1);
5043 | ASM_MEM_IMM_OP cmp, type, mem, 0
5062 ir_mem mem;
5093 mem = ir_fuse_load(ctx, def, op2);
5095 mem = ir_ref_spill_slot(ctx, op2);
5097 | ASM_MEM_OP imul, type, mem
5104 mem = ir_fuse_load(ctx, def, op2);
5106 mem = ir_ref_spill_slot(ctx, op2);
5108 | ASM_MEM_OP mul, type, mem
5126 mem = ir_fuse_load(ctx, def, op2);
5128 mem = ir_ref_spill_slot(ctx, op2);
5130 | ASM_MEM_OP idiv, type, mem
5142 mem = ir_fuse_load(ctx, def, op2);
5144 mem = ir_ref_spill_slot(ctx, op2);
5146 | ASM_MEM_OP div, type, mem
5380 ir_mem mem;
5383 mem = ir_fuse_load(ctx, def, op2);
5385 mem = ir_ref_spill_slot(ctx, op2);
5391 | ASM_SSE2_REG_MEM_OP adds, type, def_reg, mem
5394 | ASM_SSE2_REG_MEM_OP subs, type, def_reg, mem
5397 | ASM_SSE2_REG_MEM_OP muls, type, def_reg, mem
5400 | ASM_SSE2_REG_MEM_OP divs, type, def_reg, mem
5403 | ASM_SSE2_REG_MEM_OP mins, type, def_reg, mem
5406 | ASM_SSE2_REG_MEM_OP maxs, type, def_reg, mem
5487 ir_mem mem;
5490 mem = ir_fuse_load(ctx, def, op2);
5492 mem = ir_ref_spill_slot(ctx, op2);
5498 | ASM_AVX_REG_REG_MEM_OP vadds, type, def_reg, op1_reg, mem
5501 | ASM_AVX_REG_REG_MEM_OP vsubs, type, def_reg, op1_reg, mem
5504 | ASM_AVX_REG_REG_MEM_OP vmuls, type, def_reg, op1_reg, mem
5507 | ASM_AVX_REG_REG_MEM_OP vdivs, type, def_reg, op1_reg, mem
5510 | ASM_AVX_REG_REG_MEM_OP vmins, type, def_reg, op1_reg, mem
5513 | ASM_AVX_REG_REG_MEM_OP vmaxs, type, def_reg, op1_reg, mem
5536 ir_mem mem;
5539 mem = ir_fuse_load(ctx, root, op2);
5541 mem = ir_ref_spill_slot(ctx, op2);
5543 | ASM_REG_MEM_OP cmp, type, op1_reg, mem
5548 ir_mem mem;
5551 mem = ir_fuse_load(ctx, root, op1);
5553 mem = ir_ref_spill_slot(ctx, op1);
5556 | ASM_MEM_REG_OP cmp, type, mem, op2_reg
5559 | ASM_MEM_IMM_OP cmp, type, mem, val
5627 static void _ir_emit_setcc_int_mem(ir_ctx *ctx, uint8_t op, ir_mem mem)
5637 | ASM_TMEM_OP sete, byte, mem
5640 | ASM_TMEM_OP setne, byte, mem
5643 | ASM_TMEM_OP setl, byte, mem
5646 | ASM_TMEM_OP setge, byte, mem
5649 | ASM_TMEM_OP setle, byte, mem
5652 | ASM_TMEM_OP setg, byte, mem
5655 | ASM_TMEM_OP setb, byte, mem
5658 | ASM_TMEM_OP setae, byte, mem
5661 | ASM_TMEM_OP setbe, byte, mem
5664 | ASM_TMEM_OP seta, byte, mem
5770 ir_mem mem;
5773 mem = ir_fuse_load(ctx, root, op2);
5775 mem = ir_ref_spill_slot(ctx, op2);
5777 | ASM_REG_MEM_OP test, type, op1_reg, mem
5782 ir_mem mem;
5785 mem = ir_fuse_load(ctx, root, op1);
5787 mem = ir_ref_spill_slot(ctx, op1);
5796 | ASM_MEM_REG_OP test, type, mem, op2_reg
5800 | ASM_MEM_IMM_OP test, type, mem, val
5870 ir_mem mem;
5873 mem = ir_fuse_load(ctx, root, op2);
5875 mem = ir_ref_spill_slot(ctx, op2);
5877 | ASM_FP_REG_MEM_OP ucomis, type, op1_reg, mem
6197 ir_mem mem;
6200 mem = ir_fuse_load(ctx, def, insn->op2);
6202 mem = ir_ref_spill_slot(ctx, insn->op2);
6204 | ASM_MEM_IMM_OP cmp, type, mem, 0
6264 ir_mem mem = ir_ref_spill_slot(ctx, op1);
6266 | ASM_MEM_IMM_OP cmp, op1_type, mem, 0
6760 ir_mem mem;
6763 mem = ir_fuse_load(ctx, def, insn->op1);
6765 mem = ir_ref_spill_slot(ctx, insn->op1);
6770 | ASM_TXT_TMEM_OP movsx, Rw(def_reg), byte, mem
6772 | ASM_TXT_TMEM_OP movsx, Rd(def_reg), byte, mem
6777 | ASM_TXT_TMEM_OP movsx, Rq(def_reg), byte, mem
6782 | ASM_TXT_TMEM_OP movsx, Rd(def_reg), word, mem
6787 | ASM_TXT_TMEM_OP movsx, Rq(def_reg), word, mem
6795 | ASM_TXT_TMEM_OP movsxd, Rq(def_reg), dword, mem
6871 ir_mem mem;
6874 mem = ir_fuse_load(ctx, def, insn->op1);
6876 mem = ir_ref_spill_slot(ctx, insn->op1);
6881 | ASM_TXT_TMEM_OP movzx, Rw(def_reg), byte, mem
6883 | ASM_TXT_TMEM_OP movzx, Rd(def_reg), byte, mem
6888 | ASM_TXT_TMEM_OP movzx, Rq(def_reg), byte, mem
6893 | ASM_TXT_TMEM_OP movzx, Rd(def_reg), word, mem
6898 | ASM_TXT_TMEM_OP movzx, Rq(def_reg), word, mem
6905 | ASM_TXT_TMEM_OP mov, Rd(def_reg), dword, mem
7013 ir_mem mem;
7016 mem = ir_fuse_load(ctx, def, insn->op1);
7018 mem = ir_ref_spill_slot(ctx, insn->op1);
7024 | ASM_TXT_TMEM_OP mov, Rq(def_reg), qword, mem
7028 | ASM_TXT_TMEM_OP mov, Rd(def_reg), dword, mem
7060 ir_mem mem;
7063 mem = ir_fuse_load(ctx, def, insn->op1);
7065 mem = ir_ref_spill_slot(ctx, insn->op1);
7068 | ASM_FP_REG_MEM_OP movs, dst_type, def_reg, mem
7180 ir_mem mem;
7184 mem = ir_fuse_load(ctx, def, insn->op1);
7186 mem = ir_ref_spill_slot(ctx, insn->op1);
7193 …M_TXT_TXT_TMEM_OP vcvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7196 | ASM_TXT_TMEM_OP cvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7202 …M_TXT_TXT_TMEM_OP vcvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7205 | ASM_TXT_TMEM_OP cvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7214 …M_TXT_TXT_TMEM_OP vcvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7217 | ASM_TXT_TMEM_OP cvtsi2sd, xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7223 …M_TXT_TXT_TMEM_OP vcvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7226 | ASM_TXT_TMEM_OP cvtsi2ss, xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7331 ir_mem mem;
7334 mem = ir_fuse_load(ctx, def, insn->op1);
7336 mem = ir_ref_spill_slot(ctx, insn->op1);
7342 | ASM_TXT_TMEM_OP vcvttsd2si, Rd(def_reg), qword, mem
7344 | ASM_TXT_TMEM_OP cvttsd2si, Rd(def_reg), qword, mem
7349 | ASM_TXT_TMEM_OP vcvttss2si, Rd(def_reg), dword, mem
7351 | ASM_TXT_TMEM_OP cvttss2si, Rd(def_reg), dword, mem
7359 | ASM_TXT_TMEM_OP vcvttsd2si, Rq(def_reg), qword, mem
7361 | ASM_TXT_TMEM_OP cvttsd2si, Rq(def_reg), qword, mem
7366 | ASM_TXT_TMEM_OP vcvttss2si, Rq(def_reg), dword, mem
7368 | ASM_TXT_TMEM_OP cvttss2si, Rq(def_reg), dword, mem
7432 ir_mem mem;
7435 mem = ir_fuse_load(ctx, def, insn->op1);
7437 mem = ir_ref_spill_slot(ctx, insn->op1);
7442 …M_TXT_TXT_TMEM_OP vcvtsd2ss, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7444 | ASM_TXT_TMEM_OP cvtsd2ss, xmm(def_reg-IR_REG_FP_FIRST), qword, mem
7449 …M_TXT_TXT_TMEM_OP vcvtss2sd, xmm(def_reg-IR_REG_FP_FIRST), xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7451 | ASM_TXT_TMEM_OP cvtss2sd, xmm(def_reg-IR_REG_FP_FIRST), dword, mem
7520 ir_mem mem;
7525 mem = ir_var_spill_slot(ctx, insn->op1);
7526 fp = IR_MEM_BASE(mem);
7527 offset = IR_MEM_OFFSET(mem);
7540 ir_mem mem;
7548 mem = IR_MEM_BO(fp, IR_SPILL_POS_TO_OFFSET(var_insn->op3));
7554 ir_emit_load_mem(ctx, type, def_reg, mem);
7567 ir_mem mem;
7571 mem = IR_MEM_BO(fp, IR_SPILL_POS_TO_OFFSET(var_insn->op3));
7579 ir_emit_store_mem_int_const(ctx, type, mem, insn->op3, op3_reg, 0);
7586 ir_emit_store_mem_int(ctx, type, mem, op3_reg);
7596 ir_mem mem;
7600 mem = IR_MEM_BO(fp, IR_SPILL_POS_TO_OFFSET(var_insn->op3));
7608 ir_emit_store_mem_fp_const(ctx, type, mem, insn->op3, IR_REG_NONE, op3_reg);
7615 ir_emit_store_mem_fp(ctx, type, mem, op3_reg);
7624 ir_mem mem;
7637 mem = IR_MEM_B(op2_reg);
7639 mem = ir_fuse_addr_const(ctx, insn->op2);
7642 mem = ir_fuse_addr(ctx, def, insn->op2);
7643 if (IR_REG_SPILLED(ctx->regs[def][0]) && ir_is_same_spill_slot(ctx, def, mem)) {
7645 ir_emit_load_mem_int(ctx, type, def_reg, mem);
7652 ir_emit_load_mem_int(ctx, type, def_reg, mem);
7663 ir_mem mem;
7676 mem = IR_MEM_B(op2_reg);
7678 mem = ir_fuse_addr_const(ctx, insn->op2);
7681 mem = ir_fuse_addr(ctx, def, insn->op2);
7682 if (IR_REG_SPILLED(ctx->regs[def][0]) && ir_is_same_spill_slot(ctx, def, mem)) {
7684 ir_emit_load_mem_fp(ctx, type, def_reg, mem);
7691 ir_emit_load_mem_fp(ctx, type, def_reg, mem);
7703 ir_mem mem;
7711 mem = IR_MEM_B(op2_reg);
7713 mem = ir_fuse_addr_const(ctx, insn->op2);
7716 mem = ir_fuse_addr(ctx, ref, insn->op2);
7720 && ir_is_same_spill_slot(ctx, insn->op3, mem)) {
7731 ir_emit_store_mem_int_const(ctx, type, mem, insn->op3, op3_reg, 0);
7738 ir_emit_store_mem_int(ctx, type, mem, op3_reg);
7745 ir_mem mem;
7760 mem = IR_MEM_B(addr_reg);
7762 mem = ir_fuse_addr_const(ctx, insn->op2);
7765 mem = ir_fuse_addr(ctx, ref, insn->op2);
7780 _ir_emit_setcc_int_mem(ctx, op, mem);
7788 ir_mem mem;
7797 mem = IR_MEM_B(op2_reg);
7799 mem = ir_fuse_addr_const(ctx, insn->op2);
7802 mem = ir_fuse_addr(ctx, ref, insn->op2);
7806 && ir_is_same_spill_slot(ctx, insn->op3, mem)) {
7817 ir_emit_store_mem_fp_const(ctx, type, mem, insn->op3, IR_REG_NONE, op3_reg);
7824 ir_emit_store_mem_fp(ctx, type, mem, op3_reg);
8763 ir_mem mem = ir_ref_spill_slot(ctx, arg);
8766 ir_emit_load_mem_int(ctx, type, dst_reg, mem);
8769 | ASM_TXT_TMEM_OP movsx, Rd(dst_reg), word, mem
8771 | ASM_TXT_TMEM_OP movzx, Rd(dst_reg), word, mem
8776 | ASM_TXT_TMEM_OP movsx, Rd(dst_reg), byte, mem
8778 | ASM_TXT_TMEM_OP movzx, Rd(dst_reg), byte, mem
8789 ir_mem mem = IR_MEM_BO(IR_REG_STACK_POINTER, stack_offset);
8793 ir_emit_store_mem_int_const(ctx, type, mem, arg, tmp_reg, 1);
8797 ir_emit_store_mem_int(ctx, type, mem, tmp_reg);
8801 ir_emit_store_mem_int(ctx, type, mem, src_reg);
8805 ir_emit_store_mem_fp_const(ctx, type, mem, arg, tmp_reg, tmp_fp_reg);
8809 ir_emit_store_mem_fp(ctx, IR_DOUBLE, mem, tmp_fp_reg);
8813 ir_emit_store_mem_fp(ctx, type, mem, src_reg);
8892 ir_mem mem;
8895 mem = ir_fuse_load(ctx, def, insn->op2);
8897 mem = ir_ref_spill_slot(ctx, insn->op2);
8900 | ASM_TMEM_OP call, aword, mem
9032 ir_mem mem;
9035 mem = ir_fuse_load(ctx, def, insn->op2);
9037 mem = ir_ref_spill_slot(ctx, insn->op2);
9039 | ASM_TMEM_OP jmp, aword, mem
9066 ir_mem mem = ir_fuse_load(ctx, def, insn->op2);
9067 | ASM_TMEM_OP jmp, aword, mem
9075 ir_mem mem = ir_ref_spill_slot(ctx, insn->op2);
9077 | ASM_TMEM_OP jmp, aword, mem
9353 ir_mem mem;
9356 mem = ir_fuse_load(ctx, def, insn->op2);
9358 mem = ir_ref_spill_slot(ctx, insn->op2);
9360 | ASM_MEM_IMM_OP cmp, type, mem, 0
9515 ir_mem mem = ir_fuse_addr(ctx, def, def);
9519 if (IR_MEM_BASE(mem) == def_reg
9520 && IR_MEM_OFFSET(mem) == 0
9521 && IR_MEM_SCALE(mem) == 1
9522 && IR_MEM_INDEX(mem) != IR_REG_NONE) {
9523 ir_reg reg = IR_MEM_INDEX(mem);
9525 } else if (IR_MEM_INDEX(mem) == def_reg
9526 && IR_MEM_OFFSET(mem) == 0
9527 && IR_MEM_SCALE(mem) == 1
9528 && IR_MEM_BASE(mem) != IR_REG_NONE) {
9529 ir_reg reg = IR_MEM_BASE(mem);
9532 | ASM_TXT_TMEM_OP lea, Rd(def_reg), dword, mem
9535 if (IR_MEM_BASE(mem) == def_reg
9536 && IR_MEM_OFFSET(mem) == 0
9537 && IR_MEM_SCALE(mem) == 1
9538 && IR_MEM_INDEX(mem) != IR_REG_NONE) {
9539 ir_reg reg = IR_MEM_INDEX(mem);
9541 } else if (IR_MEM_INDEX(mem) == def_reg
9542 && IR_MEM_OFFSET(mem) == 0
9543 && IR_MEM_SCALE(mem) == 1
9544 && IR_MEM_BASE(mem) != IR_REG_NONE) {
9545 ir_reg reg = IR_MEM_BASE(mem);
9548 | ASM_TXT_TMEM_OP lea, Ra(def_reg), aword, mem