From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LJbB6-00018k-Dx for qemu-devel@nongnu.org; Sun, 04 Jan 2009 17:10:36 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LJbB5-00018N-Rc for qemu-devel@nongnu.org; Sun, 04 Jan 2009 17:10:36 -0500 Received: from [199.232.76.173] (port=56559 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LJbB5-00018I-Jy for qemu-devel@nongnu.org; Sun, 04 Jan 2009 17:10:35 -0500 Received: from savannah.gnu.org ([199.232.41.3]:35991 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LJbB4-0000rA-N0 for qemu-devel@nongnu.org; Sun, 04 Jan 2009 17:10:35 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1LJbAz-0001zn-JC for qemu-devel@nongnu.org; Sun, 04 Jan 2009 22:10:29 +0000 Received: from aurel32 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1LJbAz-0001yu-2u for qemu-devel@nongnu.org; Sun, 04 Jan 2009 22:10:29 +0000 MIME-Version: 1.0 Errors-To: aurel32 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Aurelien Jarno Message-Id: Date: Sun, 04 Jan 2009 22:10:29 +0000 Subject: [Qemu-devel] [6172] Add GEN_VXFORM_SIMM macro for subsequent instructions. 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 Revision: 6172 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6172 Author: aurel32 Date: 2009-01-04 22:10:28 +0000 (Sun, 04 Jan 2009) Log Message: ----------- Add GEN_VXFORM_SIMM macro for subsequent instructions. Signed-off-by: Nathan Froyd Signed-off-by: Aurelien Jarno Modified Paths: -------------- trunk/target-ppc/translate.c Modified: trunk/target-ppc/translate.c =================================================================== --- trunk/target-ppc/translate.c 2009-01-04 22:10:09 UTC (rev 6171) +++ trunk/target-ppc/translate.c 2009-01-04 22:10:28 UTC (rev 6172) @@ -370,6 +370,8 @@ EXTRACT_SHELPER(SIMM, 0, 16); /* 16 bits unsigned immediate value */ EXTRACT_HELPER(UIMM, 0, 16); +/* 5 bits signed immediate value */ +EXTRACT_HELPER(SIMM5, 16, 5); /* Bit count */ EXTRACT_HELPER(NB, 11, 5); /* Shift count */ @@ -6270,6 +6272,22 @@ GEN_VXFORM(vrlh, 2, 1); GEN_VXFORM(vrlw, 2, 2); +#define GEN_VXFORM_SIMM(name, opc2, opc3) \ + GEN_HANDLER(name, 0x04, opc2, opc3, 0x00000000, PPC_ALTIVEC) \ + { \ + TCGv_ptr rd; \ + TCGv_i32 simm; \ + if (unlikely(!ctx->altivec_enabled)) { \ + gen_exception(ctx, POWERPC_EXCP_VPU); \ + return; \ + } \ + simm = tcg_const_i32(SIMM5(ctx->opcode)); \ + rd = gen_avr_ptr(rD(ctx->opcode)); \ + gen_helper_##name (rd, simm); \ + tcg_temp_free_i32(simm); \ + tcg_temp_free_ptr(rd); \ + } + GEN_HANDLER(vsldoi, 0x04, 0x16, 0xFF, 0x00000400, PPC_ALTIVEC) { TCGv_ptr ra, rb, rd;