From fd2a81820f0b40fd879242c68d0ef706a782534b Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Tue, 27 Dec 2005 14:30:46 +0000 Subject: [PATCH] Merge vx1492 (fix for: ppc32: fsqrt). Needs verification. git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_1_BRANCH@1515 --- VEX/priv/guest-ppc32/toIR.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/VEX/priv/guest-ppc32/toIR.c b/VEX/priv/guest-ppc32/toIR.c index 7460ecdb25..c436c591b1 100644 --- a/VEX/priv/guest-ppc32/toIR.c +++ b/VEX/priv/guest-ppc32/toIR.c @@ -4340,6 +4340,16 @@ static Bool dis_fp_arith ( UInt theInstr ) binop(Iop_AddF64, mkexpr(frA), mkexpr(frB)) )); break; + case 0x16: // fsqrt (Floating SqRt (Double-Precision), PPC32 p427) + if (frA_addr != 0 || frC_addr != 0) { + vex_printf("dis_fp_arith(PPC32)(instr,fsqrt)\n"); + return False; + } + DIP("fsqrt%s fr%u,fr%u\n", flag_rC ? "." : "", + frD_addr, frB_addr); + assign( frD, unop( Iop_SqrtF64, mkexpr(frB) ) ); + break; + //zz case 0x16: // fsqrts (Floating SqRt (Single-Precision), PPC32 p428) //zz if (frA_addr != 0 || frC_addr != 0) { //zz vex_printf("dis_fp_arith(PPC32)(instr,fsqrts)\n"); -- 2.47.2