From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LC2zV-0002QA-W1 for qemu-devel@nongnu.org; Sun, 14 Dec 2008 21:15:26 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LC2zT-0002P4-Vc for qemu-devel@nongnu.org; Sun, 14 Dec 2008 21:15:25 -0500 Received: from [199.232.76.173] (port=40878 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LC2zT-0002On-KB for qemu-devel@nongnu.org; Sun, 14 Dec 2008 21:15:23 -0500 Received: from mx20.gnu.org ([199.232.41.8]:31122) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LC2zT-0000b3-66 for qemu-devel@nongnu.org; Sun, 14 Dec 2008 21:15:23 -0500 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LC2zQ-0002DQ-Vh for qemu-devel@nongnu.org; Sun, 14 Dec 2008 21:15:22 -0500 From: Nathan Froyd Date: Sun, 14 Dec 2008 18:14:33 -0800 Message-Id: <1229307315-16807-1-git-send-email-froydnj@codesourcery.com> Subject: [Qemu-devel] [PATCH] target-ppc: add Altivec instructions, patch-bomb version 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 [Thiemo Seufer asked for a patch-bomb so people can conveniently comment on things and so the mail archive has a record of Signed-off-by.] This patch series adds support for integer Altivec instructions to QEMU, including element-wise loads and stores. It's a long patch series, since each instruction "family" (element-wise loads/stores, modulo arithmetic instructions, saturating arithmetic instructions, etc.) is separated out into its own patch. Hopefully since the individual patches are so short, they will be more-or-less self-explanatory: the explanation for the patches is generally fairly short, on the order of a single line. The patch series is slightly cleaned up from the one I originally posted: there were a few problems with my tcg usage, and I didn't faithfully use some convenience functions. Why only the integer instructions? I originally wrote support for the whole instructions set, but I did it in the days of dyngen. So a straight forward-port was out of the question. The original patch sloppily used native floats everywhere, rather than the float32 abstraction. It also used C99 math functions to implement some of the more exotic Altivec instructions. Both of these decisions mean that some care has to be taken in porting the floating-point instructions. I figured it'd be better to push out the integer instructions now and the floating-point instructions later, rather than waiting for some unspecified time for full support. -Nathan