Lines Matching refs:def_reg

344 	constraints->def_reg = IR_REG_NONE;
572 constraints->def_reg = (IR_IS_TYPE_INT(insn->type)) ? IR_REG_INT_RET1 : IR_REG_FP_RET1;
616 constraints->def_reg = ir_get_param_reg(ctx, ref);
624 constraints->def_reg = ctx->ir_base[ref].op2;
628 constraints->def_reg = IR_REG_INT_RET1;
1795 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
1800 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
1817 | ASM_REG_REG_REG_OP add, type, def_reg, op1_reg, op2_reg
1820 | ASM_REG_REG_REG_OP adds, type, def_reg, op1_reg, op2_reg
1823 | ASM_REG_REG_REG_OP sub, type, def_reg, op1_reg, op2_reg
1826 | ASM_REG_REG_REG_OP subs, type, def_reg, op1_reg, op2_reg
1829 | ASM_REG_REG_REG_OP mul, type, def_reg, op1_reg, op2_reg
1837 | mul Rx(def_reg), Rx(op1_reg), Rx(op2_reg)
1838 | cmp Rx(tmp_reg), Rx(def_reg), asr #63
1843 | mul Rx(def_reg), Rx(op1_reg), Rx(op2_reg)
1850 | smull Rx(def_reg), Rw(op1_reg), Rw(op2_reg)
1851 | asr Rx(tmp_reg), Rx(def_reg), #32
1852 | cmp Rx(tmp_reg), Rx(def_reg), asr #31
1854 | umull Rx(def_reg), Rw(op1_reg), Rw(op2_reg)
1855 | cmp xzr, Rx(def_reg), lsr #32
1861 | ASM_REG_REG_REG_OP sdiv, type, def_reg, op1_reg, op2_reg
1863 | ASM_REG_REG_REG_OP udiv, type, def_reg, op1_reg, op2_reg
1871 | ASM_REG_REG_REG_REG_OP msub, type, def_reg, tmp_reg, op2_reg, op1_reg
1874 | ASM_REG_REG_REG_REG_OP msub, type, def_reg, tmp_reg, op2_reg, op1_reg
1878 | ASM_REG_REG_REG_OP orr, type, def_reg, op1_reg, op2_reg
1881 | ASM_REG_REG_REG_OP and, type, def_reg, op1_reg, op2_reg
1884 | ASM_REG_REG_REG_OP eor, type, def_reg, op1_reg, op2_reg
1895 | ASM_REG_REG_IMM_OP add, type, def_reg, op1_reg, val
1898 | ASM_REG_REG_IMM_OP adds, type, def_reg, op1_reg, val
1901 | ASM_REG_REG_IMM_OP sub, type, def_reg, op1_reg, val
1904 | ASM_REG_REG_IMM_OP subs, type, def_reg, op1_reg, val
1909 | ASM_REG_REG_IMM_OP orr, type, def_reg, op1_reg, val
1911 | ASM_REG_REG_IMM_OP orr, type, def_reg, op1_reg, val
1917 | ASM_REG_REG_IMM_OP and, type, def_reg, op1_reg, val
1919 | ASM_REG_REG_IMM_OP and, type, def_reg, op1_reg, val
1925 | ASM_REG_REG_IMM_OP eor, type, def_reg, op1_reg, val
1927 | ASM_REG_REG_IMM_OP eor, type, def_reg, op1_reg, val
1933 ir_emit_store(ctx, type, def, def_reg);
1944 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
1948 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE && op2_reg != IR_REG_NONE);
1967 | csel Rx(def_reg), Rx(op1_reg), Rx(op2_reg), le
1969 | csel Rx(def_reg), Rx(op1_reg), Rx(op2_reg), ls
1974 | csel Rx(def_reg), Rx(op1_reg), Rx(op2_reg), ge
1976 | csel Rx(def_reg), Rx(op1_reg), Rx(op2_reg), hs
1983 | csel Rw(def_reg), Rw(op1_reg), Rw(op2_reg), le
1985 | csel Rw(def_reg), Rw(op1_reg), Rw(op2_reg), ls
1990 | csel Rw(def_reg), Rw(op1_reg), Rw(op2_reg), ge
1992 | csel Rw(def_reg), Rw(op1_reg), Rw(op2_reg), hs
1998 ir_emit_store(ctx, type, def, def_reg);
2006 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2010 IR_ASSERT(def_reg != IR_REG_NONE);
2013 | cset Rw(def_reg), ne
2015 | cset Rw(def_reg), vs
2017 | cset Rw(def_reg), cs
2020 ir_emit_store(ctx, insn->type, def, def_reg);
2140 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2145 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
2154 | ASM_REG_REG_REG_OP add, type, def_reg, op1_reg, op1_reg
2156 | ASM_REG_REG_IMM_OP lsl, type, def_reg, op1_reg, shift
2160 | ASM_REG_REG_IMM_OP lsr, type, def_reg, op1_reg, shift
2164 | ASM_REG_REG_IMM_OP and, type, def_reg, op1_reg, mask
2167 ir_emit_store(ctx, type, def, def_reg);
2177 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2186 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE && def_reg != op1_reg);
2201 | add Rx(def_reg), Rx(op1_reg), Rx(op2_reg)
2203 | add Rx(def_reg), Rx(op1_reg), #offset
2205 | csel Rx(def_reg), Rx(def_reg), Rx(op1_reg), lt
2206 | asr Rx(def_reg), Rx(def_reg), #shift
2210 | add Rw(def_reg), Rw(op1_reg), Rw(op2_reg)
2212 | add Rw(def_reg), Rw(op1_reg), #offset
2214 | csel Rw(def_reg), Rw(def_reg), Rw(op1_reg), lt
2216 | asr Rw(def_reg), Rw(def_reg), #shift
2218 | ubfx Rw(def_reg), Rw(def_reg), #shift, #16
2221 | ubfx Rw(def_reg), Rw(def_reg), #shift, #8
2225 ir_emit_store(ctx, type, def, def_reg);
2235 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2244 IR_ASSERT(def_reg != IR_REG_NONE && tmp_reg != IR_REG_NONE && def_reg != tmp_reg);
2250 if (def_reg != op1_reg) {
2252 ir_emit_mov(ctx, type, def_reg, op1_reg);
2254 ir_emit_load(ctx, type, def_reg, op1);
2258 // | ASM_REG_REG_IMM_OP asr, type, tmp_reg, def_reg, (ir_type_size[type]*8-1)
2260 // | ASM_REG_REG_REG_OP add, type, def_reg, def_reg, tmp_reg
2261 // | ASM_REG_REG_IMM_OP and, type, def_reg, def_reg, mask
2262 // | ASM_REG_REG_REG_OP sub, type, def_reg, def_reg, tmp_reg
2264 | ASM_REG_REG_OP negs, type, tmp_reg, def_reg
2265 | ASM_REG_REG_IMM_OP and, type, def_reg, def_reg, mask
2267 | ASM_REG_REG_REG_TXT_OP csneg, type, def_reg, def_reg, tmp_reg, mi
2270 ir_emit_store(ctx, type, def, def_reg);
2279 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2284 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE && op2_reg != IR_REG_NONE);
2298 | and Rw(def_reg), Rw(op1_reg), #0xff
2299 | lsl Rw(def_reg), Rw(def_reg), Rw(op2_reg)
2301 | and Rw(def_reg), Rw(op1_reg), #0xffff
2302 | lsl Rw(def_reg), Rw(def_reg), Rw(op2_reg)
2304 | ASM_REG_REG_REG_OP lsl, type, def_reg, op1_reg, op2_reg
2309 | and Rw(def_reg), Rw(op1_reg), #0xff
2310 | lsr Rw(def_reg), Rw(def_reg), Rw(op2_reg)
2312 | and Rw(def_reg), Rw(op1_reg), #0xffff
2313 | lsr Rw(def_reg), Rw(def_reg), Rw(op2_reg)
2315 | ASM_REG_REG_REG_OP lsr, type, def_reg, op1_reg, op2_reg
2320 | sxtb Rw(def_reg), Rw(op1_reg)
2321 | asr Rw(def_reg), Rw(def_reg), Rw(op2_reg)
2323 | sxth Rw(def_reg), Rw(op1_reg)
2324 | asr Rw(def_reg), Rw(def_reg), Rw(op2_reg)
2326 | ASM_REG_REG_REG_OP asr, type, def_reg, op1_reg, op2_reg
2333 | and Rw(def_reg), Rw(op1_reg), #0xff
2334 | add Rw(def_reg), Rw(def_reg), Rw(def_reg), lsl #8
2335 | add Rw(def_reg), Rw(def_reg), Rw(def_reg), lsl #16
2337 | ror Rw(def_reg), Rw(def_reg), Rw(tmp_reg)
2338 | and Rw(def_reg), Rw(def_reg), #0xff
2340 | and Rw(def_reg), Rw(op1_reg), #0xffff
2341 | add Rw(def_reg), Rw(def_reg), Rw(def_reg), lsl #16
2343 | ror Rw(def_reg), Rw(def_reg), Rw(tmp_reg)
2344 | and Rw(def_reg), Rw(def_reg), #0xffff
2347 | ror Rx(def_reg), Rx(op1_reg), Rx(tmp_reg)
2350 | ror Rw(def_reg), Rw(op1_reg), Rw(tmp_reg)
2360 | ror Rw(def_reg), Rw(tmp_reg), Rw(op2_reg)
2361 | and Rw(def_reg), Rw(def_reg), #0xff
2367 | ror Rw(def_reg), Rw(tmp_reg), Rw(op2_reg)
2368 | and Rw(def_reg), Rw(def_reg), #0xffff
2370 | ASM_REG_REG_REG_OP ror, type, def_reg, op1_reg, op2_reg
2375 ir_emit_store(ctx, type, def, def_reg);
2386 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2392 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
2403 | ubfiz Rw(def_reg), Rw(op1_reg), #shift, #(8-shift)
2405 | ubfiz Rw(def_reg), Rw(op1_reg), #shift, #(16-shift)
2407 | ASM_REG_REG_IMM_OP lsl, type, def_reg, op1_reg, shift
2412 | ubfx Rw(def_reg), Rw(op1_reg), #shift, #(8-shift)
2414 | ubfx Rw(def_reg), Rw(op1_reg), #shift, #(16-shift)
2416 | ASM_REG_REG_IMM_OP lsr, type, def_reg, op1_reg, shift
2421 | sbfx Rw(def_reg), Rw(op1_reg), #shift, #(8-shift)
2423 | sbfx Rw(def_reg), Rw(op1_reg), #shift, #(16-shift)
2425 | ASM_REG_REG_IMM_OP asr, type, def_reg, op1_reg, shift
2432 | orr Rw(def_reg), Rw(tmp_reg), Rw(op1_reg), lsl #shift
2436 | orr Rw(def_reg), Rw(tmp_reg), Rw(op1_reg), lsl #shift
2439 | ror Rx(def_reg), Rx(op1_reg), #shift
2442 | ror Rw(def_reg), Rw(op1_reg), #shift
2449 | orr Rw(def_reg), Rw(tmp_reg), Rw(op1_reg), lsl #(8-shift)
2453 | orr Rw(def_reg), Rw(tmp_reg), Rw(op1_reg), lsl #(16-shift)
2455 | ASM_REG_REG_IMM_OP ror, type, def_reg, op1_reg, shift
2460 ir_emit_store(ctx, type, def, def_reg);
2470 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2473 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
2482 | cset Rw(def_reg), eq
2484 | ASM_REG_REG_OP mvn, insn->type, def_reg, op1_reg
2487 | ASM_REG_REG_OP neg, insn->type, def_reg, op1_reg
2491 | cneg Rx(def_reg), Rx(op1_reg), lt
2494 | cneg Rw(def_reg), Rw(op1_reg), lt
2498 | and Rw(def_reg), Rw(op1_reg), #0xff
2499 | clz Rw(def_reg), Rw(def_reg)
2500 | sub Rw(def_reg), Rw(def_reg), #24
2502 | and Rw(def_reg), Rw(op1_reg), #0xffff
2503 | clz Rw(def_reg), Rw(def_reg)
2504 | sub Rw(def_reg), Rw(def_reg), #16
2506 | ASM_REG_REG_OP clz, type, def_reg, op1_reg
2509 | ASM_REG_REG_OP rbit, insn->type, def_reg, op1_reg
2510 | ASM_REG_REG_OP clz, insn->type, def_reg, def_reg
2513 | ASM_REG_REG_OP rev, insn->type, def_reg, op1_reg
2516 ir_emit_store(ctx, type, def, def_reg);
2526 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2532 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE && tmp_reg != IR_REG_NONE);
2542 | and Rw(def_reg), Rw(op1_reg), #0xff
2543 | fmov Rs(tmp_reg-IR_REG_FP_FIRST), Rw(def_reg)
2546 | fmov Rw(def_reg), Rs(tmp_reg-IR_REG_FP_FIRST)
2549 | and Rw(def_reg), Rw(op1_reg), #0xffff
2550 | fmov Rs(tmp_reg-IR_REG_FP_FIRST), Rw(def_reg)
2553 | fmov Rw(def_reg), Rs(tmp_reg-IR_REG_FP_FIRST)
2559 | fmov Rw(def_reg), Rs(tmp_reg-IR_REG_FP_FIRST)
2565 | fmov Rx(def_reg), Rd(tmp_reg-IR_REG_FP_FIRST)
2569 ir_emit_store(ctx, type, def, def_reg);
2579 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2582 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
2590 | fneg Rd(def_reg-IR_REG_FP_FIRST), Rd(op1_reg-IR_REG_FP_FIRST)
2593 | fneg Rs(def_reg-IR_REG_FP_FIRST), Rs(op1_reg-IR_REG_FP_FIRST)
2598 | fabs Rd(def_reg-IR_REG_FP_FIRST), Rd(op1_reg-IR_REG_FP_FIRST)
2601 | fabs Rs(def_reg-IR_REG_FP_FIRST), Rs(op1_reg-IR_REG_FP_FIRST)
2605 ir_emit_store(ctx, insn->type, def, def_reg);
2616 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2620 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE && op2_reg != IR_REG_NONE);
2635 | ASM_FP_REG_REG_REG_OP fadd, type, def_reg, op1_reg, op2_reg
2638 | ASM_FP_REG_REG_REG_OP fsub, type, def_reg, op1_reg, op2_reg
2641 | ASM_FP_REG_REG_REG_OP fmul, type, def_reg, op1_reg, op2_reg
2644 | ASM_FP_REG_REG_REG_OP fdiv, type, def_reg, op1_reg, op2_reg
2647 | ASM_FP_REG_REG_REG_OP fmin, type, def_reg, op1_reg, op2_reg
2650 | ASM_FP_REG_REG_REG_OP fmax, type, def_reg, op1_reg, op2_reg
2654 ir_emit_store(ctx, insn->type, def, def_reg);
2729 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2733 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
2751 ir_emit_load_imm_int(ctx, IR_BOOL, def_reg, 0);
2753 ir_emit_store(ctx, insn->type, def, def_reg);
2758 ir_emit_load_imm_int(ctx, IR_BOOL, def_reg, 1);
2760 ir_emit_store(ctx, insn->type, def, def_reg);
2774 | cset Rw(def_reg), eq
2777 | cset Rw(def_reg), ne
2780 | cset Rw(def_reg), lt
2783 | cset Rw(def_reg), ge
2786 | cset Rw(def_reg), le
2789 | cset Rw(def_reg), gt
2792 | cset Rw(def_reg), lo
2795 | cset Rw(def_reg), hs
2798 | cset Rw(def_reg), ls
2801 | cset Rw(def_reg), hi
2805 ir_emit_store(ctx, insn->type, def, def_reg);
2857 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
2860 IR_ASSERT(def_reg != IR_REG_NONE);
2865 | cset Rw(def_reg), eq
2868 | cset Rw(def_reg), ne
2871 | cset Rw(def_reg), mi
2874 | cset Rw(def_reg), ge
2877 | cset Rw(def_reg), ls
2880 | cset Rw(def_reg), gt
2883 | cset Rw(def_reg), lt
2886 | cset Rw(def_reg), hs
2889 | cset Rw(def_reg), le
2892 | cset Rw(def_reg), hi
2896 ir_emit_store(ctx, insn->type, def, def_reg);
3160 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3165 IR_ASSERT(def_reg != IR_REG_NONE);
3197 | csel Rx(def_reg), Rx(op2_reg), Rx(op3_reg), ne
3199 | csel Rw(def_reg), Rw(op2_reg), Rw(op3_reg), ne
3203 | fcsel Rd(def_reg-IR_REG_FP_FIRST), Rd(op2_reg-IR_REG_FP_FIRST), Rd(op3_reg-IR_REG_FP_FIRST), ne
3205 | fcsel Rs(def_reg-IR_REG_FP_FIRST), Rs(op2_reg-IR_REG_FP_FIRST), Rs(op3_reg-IR_REG_FP_FIRST), ne
3210 ir_emit_store(ctx, type, def, def_reg);
3260 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3266 IR_ASSERT(def_reg != IR_REG_NONE);
3275 | sxtb Rw(def_reg), Rw(op1_reg)
3277 | sxtb Rw(def_reg), Rw(op1_reg)
3280 | sxtb Rx(def_reg), Rx(op1_reg)
3284 | sxth Rw(def_reg), Rw(op1_reg)
3287 | sxth Rx(def_reg), Rx(op1_reg)
3292 | sxtw Rx(def_reg), Rw(op1_reg)
3302 | ldrsb Rw(def_reg), [Rx(fp), #offset]
3304 | ldrsb Rw(def_reg), [Rx(fp), #offset]
3307 | ldrsb Rx(def_reg), [Rx(fp), #offset]
3311 | ldrsh Rw(def_reg), [Rx(fp), #offset]
3314 | ldrsh Rx(def_reg), [Rx(fp), #offset]
3319 | ldrsw Rx(def_reg), [Rx(fp), #offset]
3323 ir_emit_store(ctx, dst_type, def, def_reg);
3333 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3339 IR_ASSERT(def_reg != IR_REG_NONE);
3347 | uxtb Rw(def_reg), Rw(op1_reg)
3349 | uxth Rw(def_reg), Rw(op1_reg)
3351 | mov Rw(def_reg), Rw(op1_reg)
3360 | ldrb Rw(def_reg), [Rx(fp), #offset]
3362 | ldrh Rw(def_reg), [Rx(fp), #offset]
3366 | ldr Rw(def_reg), [Rx(fp), #offset]
3370 ir_emit_store(ctx, dst_type, def, def_reg);
3380 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3386 IR_ASSERT(def_reg != IR_REG_NONE);
3393 | and Rw(def_reg), Rw(op1_reg), #0xff
3395 | and Rw(def_reg), Rw(op1_reg), #0xffff
3396 } else if (op1_reg != def_reg) {
3397 ir_emit_mov(ctx, dst_type, def_reg, op1_reg);
3400 ir_emit_load(ctx, dst_type, def_reg, insn->op1);
3403 ir_emit_store(ctx, dst_type, def, def_reg);
3413 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3417 IR_ASSERT(def_reg != IR_REG_NONE);
3428 if (op1_reg != def_reg) {
3429 ir_emit_mov(ctx, dst_type, def_reg, op1_reg);
3432 ir_emit_load(ctx, dst_type, def_reg, insn->op1);
3440 if (op1_reg != def_reg) {
3441 ir_emit_fp_mov(ctx, dst_type, def_reg, op1_reg);
3444 ir_emit_load(ctx, dst_type, def_reg, insn->op1);
3454 | fmov Rx(def_reg), Rd(op1_reg-IR_REG_FP_FIRST)
3457 | fmov Rw(def_reg), Rs(op1_reg-IR_REG_FP_FIRST)
3466 | ldr Rx(def_reg), [Rx(fp), #offset]
3469 | ldr Rw(def_reg), [Rx(fp), #offset]
3480 | fmov Rd(def_reg-IR_REG_FP_FIRST), Rx(op1_reg)
3483 | fmov Rs(def_reg-IR_REG_FP_FIRST), Rw(op1_reg)
3492 | ldr Rd(def_reg), [Rx(fp), #offset]
3495 | ldr Rs(def_reg), [Rx(fp), #offset]
3500 ir_emit_store(ctx, dst_type, def, def_reg);
3510 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3515 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
3524 | scvtf Rd(def_reg-IR_REG_FP_FIRST), Rx(op1_reg)
3527 | scvtf Rs(def_reg-IR_REG_FP_FIRST), Rx(op1_reg)
3531 | ucvtf Rd(def_reg-IR_REG_FP_FIRST), Rx(op1_reg)
3534 | ucvtf Rs(def_reg-IR_REG_FP_FIRST), Rx(op1_reg)
3545 | scvtf Rd(def_reg-IR_REG_FP_FIRST), Rw(op1_reg)
3548 | scvtf Rs(def_reg-IR_REG_FP_FIRST), Rw(op1_reg)
3557 | ucvtf Rd(def_reg-IR_REG_FP_FIRST), Rw(op1_reg)
3560 | ucvtf Rs(def_reg-IR_REG_FP_FIRST), Rw(op1_reg)
3565 ir_emit_store(ctx, dst_type, def, def_reg);
3575 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3580 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
3588 | fcvtzs Rx(def_reg), Rd(op1_reg-IR_REG_FP_FIRST)
3591 | fcvtzs Rx(def_reg), Rs(op1_reg-IR_REG_FP_FIRST)
3595 | fcvtzu Rx(def_reg), Rd(op1_reg-IR_REG_FP_FIRST)
3598 | fcvtzu Rx(def_reg), Rs(op1_reg-IR_REG_FP_FIRST)
3604 | fcvtzs Rw(def_reg), Rd(op1_reg-IR_REG_FP_FIRST)
3607 | fcvtzs Rw(def_reg), Rs(op1_reg-IR_REG_FP_FIRST)
3611 | fcvtzu Rw(def_reg), Rd(op1_reg-IR_REG_FP_FIRST)
3614 | fcvtzu Rw(def_reg), Rs(op1_reg-IR_REG_FP_FIRST)
3619 ir_emit_store(ctx, dst_type, def, def_reg);
3629 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3634 IR_ASSERT(def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE);
3640 if (op1_reg != def_reg) {
3641 ir_emit_fp_mov(ctx, dst_type, def_reg, op1_reg);
3644 | fcvt Rs(def_reg-IR_REG_FP_FIRST), Rd(op1_reg-IR_REG_FP_FIRST)
3647 | fcvt Rd(def_reg-IR_REG_FP_FIRST), Rs(op1_reg-IR_REG_FP_FIRST)
3650 ir_emit_store(ctx, dst_type, def, def_reg);
3657 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3660 IR_ASSERT(def_reg != IR_REG_NONE || op1_reg != IR_REG_NONE);
3665 if (def_reg == op1_reg) {
3667 } else if (def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE) {
3668 ir_emit_mov(ctx, type, def_reg, op1_reg);
3669 } else if (def_reg != IR_REG_NONE) {
3670 ir_emit_load(ctx, type, def_reg, insn->op1);
3676 if (def_reg != IR_REG_NONE && IR_REG_SPILLED(ctx->regs[def][0])) {
3677 ir_emit_store(ctx, type, def, def_reg);
3684 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3687 IR_ASSERT(def_reg != IR_REG_NONE || op1_reg != IR_REG_NONE);
3692 if (def_reg == op1_reg) {
3694 } else if (def_reg != IR_REG_NONE && op1_reg != IR_REG_NONE) {
3695 ir_emit_fp_mov(ctx, type, def_reg, op1_reg);
3696 } else if (def_reg != IR_REG_NONE) {
3697 ir_emit_load(ctx, type, def_reg, insn->op1);
3703 if (def_reg != IR_REG_NONE && IR_REG_SPILLED(ctx->regs[def][0])) {
3704 ir_emit_store(ctx, type, def, def_reg);
3713 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3717 IR_ASSERT(def_reg != IR_REG_NONE);
3719 | add Rx(def_reg), Rx(fp), #offset
3721 ir_emit_store(ctx, type, def, def_reg);
3729 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3738 if (def_reg == IR_REG_NONE && ir_is_same_mem_var(ctx, def, var_insn->op3)) {
3741 IR_ASSERT(def_reg != IR_REG_NONE);
3742 ir_emit_load_mem(ctx, type, def_reg, mem);
3744 ir_emit_store(ctx, type, def, def_reg);
3814 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3821 IR_ASSERT(def_reg != IR_REG_NONE);
3830 op2_reg = def_reg;
3838 ir_emit_load_mem_int(ctx, type, def_reg, mem);
3844 ir_emit_load_mem_int(ctx, type, def_reg, mem);
3846 ir_emit_store(ctx, type, def, def_reg);
3854 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3861 IR_ASSERT(def_reg != IR_REG_NONE);
3870 op2_reg = def_reg;
3878 ir_emit_load_mem_fp(ctx, type, def_reg, mem);
3884 ir_emit_load_mem_fp(ctx, type, def_reg, mem);
3886 ir_emit_store(ctx, type, def, def_reg);
3983 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
3985 if (def_reg == IR_REG_NONE) {
3993 if (src_reg != def_reg) {
3995 ir_emit_mov(ctx, type, def_reg, src_reg);
3998 ir_emit_fp_mov(ctx, type, def_reg, src_reg);
4003 ir_emit_store(ctx, type, def, def_reg);
4037 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
4069 IR_ASSERT(def_reg != IR_REG_NONE && op2_reg != IR_REG_NONE);
4074 | add Rx(def_reg), Rx(op2_reg), #(alignment-1)
4075 | and Rx(def_reg), Rx(def_reg), #(~(alignment-1))
4076 | sub sp, sp, Rx(def_reg);
4078 if (def_reg != IR_REG_NONE) {
4079 | mov Rx(def_reg), sp
4081 ir_emit_store(ctx, insn->type, def, def_reg);
4129 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
4131 | mov Rx(def_reg), sp
4134 ir_emit_store(ctx, IR_ADDR, def, def_reg);
4157 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
4160 | mov Rx(def_reg), Rx(IR_REG_X29)
4162 | add Rx(def_reg), Rx(IR_REG_X31), #(ctx->stack_frame_size + ctx->call_stack_size)
4165 ir_emit_store(ctx, IR_ADDR, def, def_reg);
4352 ir_reg def_reg = ctx->regs[def][0];
4357 IR_ASSERT(def_reg != IR_REG_NONE && tmp_reg != IR_REG_NONE);
4370 ir_emit_load_mem(ctx, type, def_reg, IR_MEM_BO(tmp_reg, 0));
4374 ir_emit_store(ctx, type, def, def_reg);
4380 ir_reg def_reg = ctx->regs[def][0];
4385 IR_ASSERT(def_reg != IR_REG_NONE && tmp_reg != IR_REG_NONE);
4404 | ldr Rx(def_reg), [Rx(IR_REG_INT_TMP)]
4410 | ldr Rx(def_reg), [Rx(tmp_reg)]
4421 | ldr Rd(def_reg-IR_REG_FP_FIRST), [Rx(IR_REG_INT_TMP)]
4427 | ldr Rd(def_reg-IR_REG_FP_FIRST), [Rx(tmp_reg)]
4433 ir_emit_store(ctx, type, def, def_reg);
4846 ir_reg def_reg;
4875 def_reg = IR_REG_NUM(ctx->regs[def][0]);
4876 if (def_reg != IR_REG_NONE) {
4877 if (def_reg != IR_REG_INT_RET1) {
4878 ir_emit_mov(ctx, insn->type, def_reg, IR_REG_INT_RET1);
4881 ir_emit_store(ctx, insn->type, def, def_reg);
4888 def_reg = IR_REG_NUM(ctx->regs[def][0]);
4889 if (def_reg != IR_REG_NONE) {
4890 if (def_reg != IR_REG_FP_RET1) {
4891 ir_emit_fp_mov(ctx, insn->type, def_reg, IR_REG_FP_RET1);
4894 ir_emit_store(ctx, insn->type, def, def_reg);
5264 ir_reg def_reg = IR_REG_NUM(ctx->regs[def][0]);
5266 IR_ASSERT(def_reg != IR_REG_NONE);
5322 if (def_reg != IR_REG_INT_RET1) {
5323 ir_emit_mov(ctx, insn->type, def_reg, IR_REG_INT_RET1);
5326 ir_emit_store(ctx, insn->type, def, def_reg);
5583 reg = constraints.def_reg;