qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] target-mips: Use new qemu_ld/st opcodes


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 2/2] target-mips: Use new qemu_ld/st opcodes
Date: Wed, 11 Dec 2013 11:12:59 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

On 12/11/2013 06:07 AM, Aurelien Jarno wrote:
> -        tcg_gen_qemu_st64(t1, t0, ctx->mem_idx);
> +        tcg_gen_qemu_st_tl(t1, t0, ctx->mem_idx, MO_TE | MO_64);

MO_TEQ?

> -        tcg_gen_qemu_st32(t1, t0, ctx->mem_idx);
> +        tcg_gen_qemu_st_tl(t1, t0, ctx->mem_idx, MO_TE | MO_32);
>          opn = "sw";
>          break;
>      case OPC_SH:
> -        tcg_gen_qemu_st16(t1, t0, ctx->mem_idx);
> +        tcg_gen_qemu_st_tl(t1, t0, ctx->mem_idx, MO_TE | MO_16);
>          opn = "sh";
>          break;

FWIW, I've been using the unsigned variants for stores, e.g. MO_TEUL.

> @@ -1869,7 +1869,7 @@ static void gen_flt_ldst (DisasContext *ctx, uint32_t 
> opc, int ft,
>          {
>              TCGv_i32 fp0 = tcg_temp_new_i32();
>  
> -            tcg_gen_qemu_ld32s(t0, t0, ctx->mem_idx);
> +            tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_TESL);
>              tcg_gen_trunc_tl_i32(fp0, t0);
>              gen_store_fpr32(fp0, ft);
>              tcg_temp_free_i32(fp0);

Since you've changed some of the extensions, notice that you can load directly
into fp0 now and avoid the truncates too.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]