From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42896) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqpDc-0005SQ-62 for qemu-devel@nongnu.org; Wed, 11 Dec 2013 14:13:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqpDT-000774-Np for qemu-devel@nongnu.org; Wed, 11 Dec 2013 14:13:12 -0500 Received: from mail-pd0-x233.google.com ([2607:f8b0:400e:c02::233]:63892) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqpDT-00076y-GQ for qemu-devel@nongnu.org; Wed, 11 Dec 2013 14:13:03 -0500 Received: by mail-pd0-f179.google.com with SMTP id r10so10114474pdi.38 for ; Wed, 11 Dec 2013 11:13:02 -0800 (PST) Sender: Richard Henderson Message-ID: <52A8B93B.8070305@twiddle.net> Date: Wed, 11 Dec 2013 11:12:59 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1386770856-6304-1-git-send-email-aurelien@aurel32.net> <1386770856-6304-2-git-send-email-aurelien@aurel32.net> In-Reply-To: <1386770856-6304-2-git-send-email-aurelien@aurel32.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] target-mips: Use new qemu_ld/st opcodes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno , qemu-devel@nongnu.org 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~