]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix a few issues as reported by the BEAM tool.
authorFlorian Krohm <florian@eich-krohm.de>
Fri, 15 Jun 2012 20:55:43 +0000 (20:55 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Fri, 15 Jun 2012 20:55:43 +0000 (20:55 +0000)
Patch by Carl Love (cel@linux.vnet.ibm.com).

git-svn-id: svn://svn.valgrind.org/vex/trunk@2385

VEX/priv/host_ppc_defs.c
VEX/priv/host_ppc_defs.h
VEX/priv/host_ppc_isel.c

index 26a24ee4d94ce7bd5a45cc8f11da95652e6c1994..d5cf5cb98f40fa608e584de57090a634509f108c 100644 (file)
@@ -1092,7 +1092,7 @@ PPCInstr* PPCInstr_DfpRound128 ( HReg dst_hi, HReg dst_lo, HReg src_hi,
    i->Pin.DfpRound128.r_rmc  = r_rmc;
    return i;
 }
-PPCInstr* PPCInstr_DfpQuantize ( PPCAvFpOp op, HReg dst, HReg srcL, HReg srcR,
+PPCInstr* PPCInstr_DfpQuantize ( PPCFpOp op, HReg dst, HReg srcL, HReg srcR,
                                  PPCRI* rmc ) {
    PPCInstr* i             = LibVEX_Alloc(sizeof(PPCInstr));
    i->tag                  = Pin_DfpQuantize;
@@ -1103,7 +1103,7 @@ PPCInstr* PPCInstr_DfpQuantize ( PPCAvFpOp op, HReg dst, HReg srcL, HReg srcR,
    i->Pin.DfpQuantize.rmc  = rmc;
    return i;
 }
-PPCInstr* PPCInstr_DfpQuantize128 ( PPCAvFpOp op, HReg dst_hi, HReg dst_lo, 
+PPCInstr* PPCInstr_DfpQuantize128 ( PPCFpOp op, HReg dst_hi, HReg dst_lo,
                                     HReg src_hi, HReg src_lo, PPCRI* rmc ) {
    /* dst is used to pass left operand in and return result */
    PPCInstr* i                  = LibVEX_Alloc(sizeof(PPCInstr));
@@ -2758,6 +2758,7 @@ void mapRegs_PPCInstr ( HRegRemap* m, PPCInstr* i, Bool mode64 )
       mapReg(m, &i->Pin.DfpQuantize128.dst_lo);
       mapReg(m, &i->Pin.DfpQuantize128.src_hi);
       mapReg(m, &i->Pin.DfpQuantize128.src_lo);
+      return;
    case Pin_DfpD128toD64:
       mapReg(m, &i->Pin.DfpD128toD64.src_hi);
       mapReg(m, &i->Pin.DfpD128toD64.src_lo);
index 871ec9f4e744f350e084318cec0ed034ce6f0b12..fab6359734724a891c68b6aa74752f17c6d189b4 100644 (file)
@@ -1036,9 +1036,9 @@ extern PPCInstr* PPCInstr_DfpI64StoD128  ( PPCFpOp op, HReg dst_hi,
 extern PPCInstr* PPCInstr_DfpRound       ( HReg dst, HReg src, PPCRI* r_rmc );
 extern PPCInstr* PPCInstr_DfpRound128    ( HReg dst_hi, HReg dst_lo, HReg src_hi,
                                            HReg src_lo, PPCRI* r_rmc );
-extern PPCInstr* PPCInstr_DfpQuantize    ( PPCAvFpOp op, HReg dst, HReg srcL,
+extern PPCInstr* PPCInstr_DfpQuantize    ( PPCFpOp op, HReg dst, HReg srcL,
                                            HReg srcR, PPCRI* rmc );
-extern PPCInstr* PPCInstr_DfpQuantize128 ( PPCAvFpOp op, HReg dst_hi,
+extern PPCInstr* PPCInstr_DfpQuantize128 ( PPCFpOp op, HReg dst_hi,
                                            HReg dst_lo,
                                            HReg src_hi,
                                            HReg src_lo, PPCRI* rmc );
index de580120d0c65c128d14af4450649d9d5b594e81..215f04d04f429dbc162efc48c3593020e5426122 100644 (file)
@@ -1498,8 +1498,8 @@ static HReg iselWordExpr_R_wrk ( ISelEnv* env, IRExpr* e )
          return r_dst;
       }
 
-      if ((e->Iex.Binop.op == Iop_CmpF64) |
-          (e->Iex.Binop.op == Iop_CmpD64) |
+      if ((e->Iex.Binop.op == Iop_CmpF64) ||
+          (e->Iex.Binop.op == Iop_CmpD64) ||
           (e->Iex.Binop.op == Iop_CmpD128)) {
          HReg fr_srcL;
          HReg fr_srcL_lo;