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