From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45483) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1hJX-0000AA-Qq for qemu-devel@nongnu.org; Fri, 10 Jan 2014 14:00:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1hJQ-0005qx-Q9 for qemu-devel@nongnu.org; Fri, 10 Jan 2014 14:00:15 -0500 Received: from mail-qc0-x234.google.com ([2607:f8b0:400d:c01::234]:45519) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1hJQ-0005qr-MU for qemu-devel@nongnu.org; Fri, 10 Jan 2014 14:00:08 -0500 Received: by mail-qc0-f180.google.com with SMTP id w7so4200260qcr.11 for ; Fri, 10 Jan 2014 11:00:08 -0800 (PST) Sender: Richard Henderson Message-ID: <52D04333.9050904@twiddle.net> Date: Fri, 10 Jan 2014 11:00:03 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1389373972-27686-1-git-send-email-peter.maydell@linaro.org> <1389373972-27686-2-git-send-email-peter.maydell@linaro.org> <52D03657.5070308@twiddle.net> <52D03BD9.10908@twiddle.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 01/10] target-arm: A64: Add SIMD ld/st multiple List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Laurent Desnogues , Patch Tracking , Michael Matz , Alexander Graf , QEMU Developers , Claudio Fontana , Dirk Mueller , Will Newton , =?UTF-8?B?QWxleCBCZW5uw6ll?= , "kvmarm@lists.cs.columbia.edu" , Christoffer Dall On 01/10/2014 10:37 AM, Peter Maydell wrote: > On 10 January 2014 18:28, Richard Henderson wrote: >> On 01/10/2014 10:18 AM, Peter Maydell wrote: >>>>> Maybe better to hoist load of >>>>> tcg_rn to before initial assignment of tcg_addr? >>> Not sure what you have in mind here. Pulling the >>> cpu_reg_sp() call out one level like: >>> >>> if (is_postidx) { >>> int rm = extract32(insn, 16, 5); >>> TCGv_i64 tcg_rn = cpu_reg_sp(s, rn); >>> if (rm == 31) { >>> tcg_gen_mov_i64(tcg_rn, tcg_addr); >>> } else { >>> tcg_gen_add_i64(tcg_rn, tcg_rn, cpu_reg(s, rm)); >>> } >>> } >>> >>> seems like a good idea though. >> >> I was thinking >> >> TCGv_i64 tcg_rn = cpu_reg_sp(s, rn); >> TCGv_i64 tcg_addr = tcg_temp_new_i64(); >> tcg_gen_mov_i64(tcg_addr, tcg_rn); >> >> up above. But even as you have there is good. > > Oh, right. Yes, I like that -- have made the change. Don't forget the free, of course. Or use new_tmp_a64. r~