]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge vx1492 (fix for: ppc32: fsqrt). Needs verification.
authorJulian Seward <jseward@acm.org>
Tue, 27 Dec 2005 14:30:46 +0000 (14:30 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 27 Dec 2005 14:30:46 +0000 (14:30 +0000)
git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_1_BRANCH@1515

VEX/priv/guest-ppc32/toIR.c

index 7460ecdb2537f8d36d2e6bf7ede61830870f9ceb..c436c591b14c464d7a45e0f0782d85e515ffeeb1 100644 (file)
@@ -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");