From: Julian Seward Date: Mon, 17 Sep 2012 17:51:44 +0000 (+0000) Subject: Merge from trunk, r2517 and 2518 (Fix a couple of union tag-vs-field X-Git-Tag: svn/VALGRIND_3_8_1^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=753d3a795c1c92b43591da5fab2a0e5865094820;p=thirdparty%2Fvalgrind.git Merge from trunk, r2517 and 2518 (Fix a couple of union tag-vs-field mixups, n-i-bz) git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_8_BRANCH@2534 --- diff --git a/VEX/priv/host_s390_defs.c b/VEX/priv/host_s390_defs.c index 56bb986bf2..ed98c3cf49 100644 --- a/VEX/priv/host_s390_defs.c +++ b/VEX/priv/host_s390_defs.c @@ -7372,7 +7372,7 @@ s390_insn_bfp128_convert_from_emit(UChar *buf, const s390_insn *insn) UInt r1 = hregNumber(insn->variant.bfp128_unop.dst_hi); UInt r2_hi = hregNumber(insn->variant.bfp128_unop.op_hi); UInt r2_lo = hregNumber(insn->variant.bfp128_unop.op_lo); - s390_round_t rounding_mode = insn->variant.bfp_binop.rounding_mode; + s390_round_t rounding_mode = insn->variant.bfp128_unop.rounding_mode; /* Paranoia */ vassert(insn->size != 16); diff --git a/VEX/priv/host_s390_isel.c b/VEX/priv/host_s390_isel.c index 6d019713ba..292db94dac 100644 --- a/VEX/priv/host_s390_isel.c +++ b/VEX/priv/host_s390_isel.c @@ -1635,7 +1635,7 @@ s390_isel_float128_expr_wrk(HReg *dst_hi, HReg *dst_lo, ISelEnv *env, /* --------- UNARY OP --------- */ case Iex_Unop: { - IRExpr *left = expr->Iex.Binop.arg1; + IRExpr *left = expr->Iex.Unop.arg; s390_bfp_unop_t bfpop; s390_round_t rounding_mode; HReg op_hi, op_lo, op, f12, f13, f14, f15; @@ -1646,7 +1646,7 @@ s390_isel_float128_expr_wrk(HReg *dst_hi, HReg *dst_lo, ISelEnv *env, f14 = make_fpr(14); f15 = make_fpr(15); - switch (expr->Iex.Binop.op) { + switch (expr->Iex.Unop.op) { case Iop_NegF128: bfpop = S390_BFP_NEG; goto float128_opnd; case Iop_AbsF128: bfpop = S390_BFP_ABS; goto float128_opnd; case Iop_I32StoF128: bfpop = S390_BFP_I32_TO_F128; goto convert_int;