From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KcPE9-0002fc-8F for qemu-devel@nongnu.org; Sun, 07 Sep 2008 14:43:13 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KcPE7-0002f8-MD for qemu-devel@nongnu.org; Sun, 07 Sep 2008 14:43:12 -0400 Received: from [199.232.76.173] (port=49026 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KcPE7-0002eh-5x for qemu-devel@nongnu.org; Sun, 07 Sep 2008 14:43:11 -0400 Received: from mail.codesourcery.com ([65.74.133.4]:40108) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KcPE4-0005M5-Pa for qemu-devel@nongnu.org; Sun, 07 Sep 2008 14:43:10 -0400 From: Paul Brook Subject: Re: [Qemu-devel] TCG native 32->64 concatenation Date: Sun, 7 Sep 2008 19:43:03 +0100 References: <200809071753.27384.paul@codesourcery.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200809071943.04030.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Blue Swirl On Sunday 07 September 2008, Blue Swirl wrote: > On 9/7/08, Paul Brook wrote: > > The patch below adds a new concat_i32_i64 TCG op. This allows a pair of > > 32-bit values to be efficiently combined to form a 64-bit value. I've > > converted all the cases I could find to use this, and tested the arm > > code on both 32 and 64-bit hosts. > > Sparc's helper_pack64 does the same thing, I used it to reduce > register pressure on i386 for 64 bit stores. They're slightly different because helper_pack64 takes target_ulong arguments. Replacing helper_pack64 with concat_i32_i64 would need explicit truncation on 64-bit targets. The current TCG implementation will work if you use the wrong register type, however I don't want targets relying on that. Paul