Revision d6859202 tcg/tcg.c
b/tcg/tcg.c | ||
---|---|---|
1385 | 1385 |
ts->val_type = TEMP_VAL_MEM; |
1386 | 1386 |
break; |
1387 | 1387 |
case TEMP_VAL_CONST: |
1388 |
reg = tcg_reg_alloc(s, tcg_target_available_regs[ts->type], |
|
1389 |
allocated_regs); |
|
1388 | 1390 |
if (!ts->mem_allocated) |
1389 | 1391 |
temp_allocate_frame(s, temp); |
1390 |
if (ts->type == TCG_TYPE_I32) { |
|
1391 |
tcg_out_sti(s, ts->type, ts->val, ts->mem_reg, ts->mem_offset); |
|
1392 |
} else { |
|
1393 |
reg = tcg_reg_alloc(s, tcg_target_available_regs[ts->type], |
|
1394 |
allocated_regs); |
|
1395 |
tcg_out_movi(s, ts->type, reg, ts->val); |
|
1396 |
tcg_out_st(s, ts->type, reg, ts->mem_reg, ts->mem_offset); |
|
1397 |
} |
|
1392 |
tcg_out_movi(s, ts->type, reg, ts->val); |
|
1393 |
tcg_out_st(s, ts->type, reg, ts->mem_reg, ts->mem_offset); |
|
1398 | 1394 |
ts->val_type = TEMP_VAL_MEM; |
1399 | 1395 |
break; |
1400 | 1396 |
case TEMP_VAL_MEM: |
Also available in: Unified diff