mirror of https://github.com/xemu-project/xemu.git
TCG: fix DEF2 macro
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
731c54f869
commit
6692b04319
14
tcg/tcg.c
14
tcg/tcg.c
|
@ -67,7 +67,7 @@ static void patch_reloc(uint8_t *code_ptr, int type,
|
||||||
|
|
||||||
static TCGOpDef tcg_op_defs[] = {
|
static TCGOpDef tcg_op_defs[] = {
|
||||||
#define DEF(s, n, copy_size) { #s, 0, 0, n, n, 0, copy_size },
|
#define DEF(s, n, copy_size) { #s, 0, 0, n, n, 0, copy_size },
|
||||||
#define DEF2(s, iargs, oargs, cargs, flags) { #s, iargs, oargs, cargs, iargs + oargs + cargs, flags, 0 },
|
#define DEF2(s, oargs, iargs, cargs, flags) { #s, oargs, iargs, cargs, iargs + oargs + cargs, flags, 0 },
|
||||||
#include "tcg-opc.h"
|
#include "tcg-opc.h"
|
||||||
#undef DEF
|
#undef DEF
|
||||||
#undef DEF2
|
#undef DEF2
|
||||||
|
@ -1385,12 +1385,16 @@ static void temp_save(TCGContext *s, int temp, TCGRegSet allocated_regs)
|
||||||
ts->val_type = TEMP_VAL_MEM;
|
ts->val_type = TEMP_VAL_MEM;
|
||||||
break;
|
break;
|
||||||
case TEMP_VAL_CONST:
|
case TEMP_VAL_CONST:
|
||||||
reg = tcg_reg_alloc(s, tcg_target_available_regs[ts->type],
|
|
||||||
allocated_regs);
|
|
||||||
if (!ts->mem_allocated)
|
if (!ts->mem_allocated)
|
||||||
temp_allocate_frame(s, temp);
|
temp_allocate_frame(s, temp);
|
||||||
tcg_out_movi(s, ts->type, reg, ts->val);
|
if (ts->type == TCG_TYPE_I32) {
|
||||||
tcg_out_st(s, ts->type, reg, ts->mem_reg, ts->mem_offset);
|
tcg_out_sti(s, ts->type, ts->val, ts->mem_reg, ts->mem_offset);
|
||||||
|
} else {
|
||||||
|
reg = tcg_reg_alloc(s, tcg_target_available_regs[ts->type],
|
||||||
|
allocated_regs);
|
||||||
|
tcg_out_movi(s, ts->type, reg, ts->val);
|
||||||
|
tcg_out_st(s, ts->type, reg, ts->mem_reg, ts->mem_offset);
|
||||||
|
}
|
||||||
ts->val_type = TEMP_VAL_MEM;
|
ts->val_type = TEMP_VAL_MEM;
|
||||||
break;
|
break;
|
||||||
case TEMP_VAL_MEM:
|
case TEMP_VAL_MEM:
|
||||||
|
|
Loading…
Reference in New Issue