On 7 December 2013 00:34, Richard Henderson <r...@twiddle.net> wrote:
> Retain the existing gen_aa32_* inlines, to aid compilation for A64.


> -#define DO_GEN_LD(OP)                                                    \
> -static inline void gen_aa32_##OP(TCGv_i32 val, TCGv_i32 addr, int index) \
> +#define DO_GEN_LD(SUFF, OPC)                                             \
> +static inline void gen_aa32_ld##SUFF(TCGv_i32 val, TCGv_i32 addr, int index) 
> \
>  {                                                                        \
>      TCGv addr64 = tcg_temp_new();                                        \
> -    TCGv val64 = tcg_temp_new();                                         \
>      tcg_gen_extu_i32_i64(addr64, addr);                                  \
> -    tcg_gen_qemu_##OP(val64, addr64, index);                             \
> -    tcg_temp_free(addr64);                                               \
> -    tcg_gen_trunc_i64_i32(val, val64);                                   \
> -    tcg_temp_free(val64);                                                \
> +    tcg_gen_qemu_ld_i32(val, addr64, index, OPC);                        \
>  }

This seems to have lost the free of addr64.

thanks
-- PMM

Reply via email to