From 41971e1b1cab7bb0db2f580e6246ca4e10274261 Mon Sep 17 00:00:00 2001 From: Florian Krohm Date: Fri, 15 Jun 2012 20:55:43 +0000 Subject: [PATCH] Fix a few issues as reported by the BEAM tool. 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 | 5 +++-- VEX/priv/host_ppc_defs.h | 4 ++-- VEX/priv/host_ppc_isel.c | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/VEX/priv/host_ppc_defs.c b/VEX/priv/host_ppc_defs.c index 26a24ee4d9..d5cf5cb98f 100644 --- a/VEX/priv/host_ppc_defs.c +++ b/VEX/priv/host_ppc_defs.c @@ -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); diff --git a/VEX/priv/host_ppc_defs.h b/VEX/priv/host_ppc_defs.h index 871ec9f4e7..fab6359734 100644 --- a/VEX/priv/host_ppc_defs.h +++ b/VEX/priv/host_ppc_defs.h @@ -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 ); diff --git a/VEX/priv/host_ppc_isel.c b/VEX/priv/host_ppc_isel.c index de580120d0..215f04d04f 100644 --- a/VEX/priv/host_ppc_isel.c +++ b/VEX/priv/host_ppc_isel.c @@ -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; -- 2.47.2