From: Cerion Armour-Brown Date: Tue, 1 Mar 2005 20:27:49 +0000 (+0000) Subject: Small backend printout changes only X-Git-Tag: svn/VALGRIND_3_0_1^2~342 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bbf4a8bb1b635209c2f59c6fd2294811da8b4af0;p=thirdparty%2Fvalgrind.git Small backend printout changes only git-svn-id: svn://svn.valgrind.org/vex/trunk@992 --- diff --git a/VEX/priv/host-ppc32/hdefs.c b/VEX/priv/host-ppc32/hdefs.c index 37a4612435..7f0068e5dd 100644 --- a/VEX/priv/host-ppc32/hdefs.c +++ b/VEX/priv/host-ppc32/hdefs.c @@ -720,6 +720,16 @@ void ppPPC32Instr ( PPC32Instr* i ) ppPPC32RI(i->Pin.Alu32.src2); return; } + if (i->Pin.Alu32.op == Palu_AND && // 'andi.' - always has the '.' + i->Pin.Alu32.src2->tag == Pri_Imm) { + vex_printf("andi. "); + ppHRegPPC32(i->Pin.Alu32.dst); + vex_printf(","); + ppHRegPPC32(i->Pin.Alu32.src1); + vex_printf(","); + ppPPC32RI(i->Pin.Alu32.src2); + return; + } vex_printf("%s%s ", showPPC32AluOp(i->Pin.Alu32.op), i->Pin.Alu32.src2->tag == Pri_Imm ? "i" : "" ); ppHRegPPC32(i->Pin.Alu32.dst); @@ -746,7 +756,7 @@ void ppPPC32Instr ( PPC32Instr* i ) ppPPC32RI(i->Pin.Sh32.shft); return; case Pin_Cmp32: - vex_printf("cmp%s %%crf%d,", + vex_printf("%s%s %%crf%d,", showPPC32CmpOp(i->Pin.Cmp32.op), i->Pin.Cmp32.src2->tag == Pri_Imm ? "i" : "", (7 - i->Pin.Cmp32.crfD)); ppHRegPPC32(i->Pin.Cmp32.src1); @@ -806,7 +816,7 @@ void ppPPC32Instr ( PPC32Instr* i ) vex_printf("li %%r12, 0x%x ;", i->Pin.Call.target); } else { vex_printf("lis %%r12,0x%x ; ", i->Pin.Call.target >> 16); - vex_printf("ori %%r12,%%r3,0x%x ; ", i->Pin.Call.target & 0xFFFF); + vex_printf("ori %%r12,%%r12,0x%x ; ", i->Pin.Call.target & 0xFFFF); } vex_printf("mtctr r12 ; bctrl[%d] }",i->Pin.Call.regparms); break; @@ -853,7 +863,7 @@ void ppPPC32Instr ( PPC32Instr* i ) if (imm32 < 0x10000) { vex_printf("li "); ppHRegPPC32(i->Pin.CMov32.dst); - vex_printf(" 0x%x", imm32); + vex_printf(",0x%x", imm32); } else { vex_printf("lis "); ppHRegPPC32(i->Pin.CMov32.dst);