From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KaqgH-0006Zk-Qu for qemu-devel@nongnu.org; Wed, 03 Sep 2008 07:37:49 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KaqgG-0006ZT-Rv for qemu-devel@nongnu.org; Wed, 03 Sep 2008 07:37:48 -0400 Received: from [199.232.76.173] (port=57844 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KaqgG-0006ZP-FK for qemu-devel@nongnu.org; Wed, 03 Sep 2008 07:37:48 -0400 Received: from relay01.mx.bawue.net ([193.7.176.67]:51315) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KaqgG-0001G0-Fg for qemu-devel@nongnu.org; Wed, 03 Sep 2008 07:37:48 -0400 Date: Wed, 3 Sep 2008 13:37:44 +0200 From: Thiemo Seufer Subject: Re: [Qemu-devel] TCG: 64-bit temporaries on 32-bit target? Message-ID: <20080903113744.GD17474@networkno.de> References: <3C0132E5-E97D-43FA-9E97-47B8BE82E5BB@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <3C0132E5-E97D-43FA-9E97-47B8BE82E5BB@web.de> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andreas =?iso-8859-1?Q?F=E4rber?= Cc: qemu-devel@nongnu.org Andreas F=E4rber wrote: > Hello, > > On PowerPC there appear to be some "SPE" instructions that operate on =20 > 64-bit registers while the rest of the target is 32-bit. In dyngen code,= =20 > they can easily use T0_64 then. > > In TCG however, cpu_T[0] is tl=3D=3Di32 for ppc, only for ppc64 would =20 > cpu_T[0] work due to tl=3D=3Di64. At the same time I was told I can't use= =20 > tcg_gen_movi_i32 for tl cpu_T[n], so it seems we can't just =20 > unconditionally use i64 for cpu_T[0..2] either? > > This issue prevents dyngen op_load_gpr_{T0,T1} from being removed =20 > because ppc64 gen_op_load_gpr64_{T0,T1} reuses them. > > Any suggestions appreciated! A similiar problem exists for MIPS32 with 64-bit FPU, I introduced e.g T64_0 and T64_1 and added explicit conversions to 32-bit registers/ register pairs where necessary. Thiemo