From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lnfg7-0003GY-11 for qemu-devel@nongnu.org; Sat, 28 Mar 2009 17:02:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lnfg2-0003BZ-E6 for qemu-devel@nongnu.org; Sat, 28 Mar 2009 17:02:54 -0400 Received: from [199.232.76.173] (port=47431 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lnfg2-0003BC-8N for qemu-devel@nongnu.org; Sat, 28 Mar 2009 17:02:50 -0400 Received: from mx20.gnu.org ([199.232.41.8]:8040) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lnfg1-0001yA-PH for qemu-devel@nongnu.org; Sat, 28 Mar 2009 17:02:49 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lnfg0-0003o5-UX for qemu-devel@nongnu.org; Sat, 28 Mar 2009 17:02:49 -0400 From: Nathan Froyd Date: Sat, 28 Mar 2009 14:02:37 -0700 Message-Id: <1238274167-7890-1-git-send-email-froydnj@codesourcery.com> Subject: [Qemu-devel] [PATCH 0/10] tcg: improve logical op support for ppc hosts 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 This patch series implements the necessary support for native TCG implementations the logical operations andc, orc, eqv, nor, and nand (as opposed to the synthesized implementations currently used by TCG). It also implements backend support for said operations in the ppc and ppc64 backends. I have tested it sparsely on a ppc64 machine I have access to; Linux user-mode emulation seems to be broken on ppc hosts. I could not run a given binary (something as simple as ls or complicated as gcc) with ppc{,64}-linux-user targeted QEMU. Prior to the guest application crashing, however, I could see in qemu.log that several andc/orc/eqv/nand/nor instructions were being used and being translated correctly. The patch series also includes one bugfix at the very end, which removes r0 from the allocation pool. The logic of the patch seems straightforward enough to me, but I confess to not being a TCG expert, so if TCG somehow avoids generating instructions with r0 in the "wrong" places, I'd be happy to hear of an explanation why. -Nathan