]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge from trunk, r2517 and 2518 (Fix a couple of union tag-vs-field
authorJulian Seward <jseward@acm.org>
Mon, 17 Sep 2012 17:51:44 +0000 (17:51 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 17 Sep 2012 17:51:44 +0000 (17:51 +0000)
mixups, n-i-bz)

git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_8_BRANCH@2534

VEX/priv/host_s390_defs.c
VEX/priv/host_s390_isel.c

index 56bb986bf23804898ddf2e52fa39d2dbbb41dd03..ed98c3cf49388b03adfbc0297ce9b5262b92b931 100644 (file)
@@ -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);
index 6d019713ba8ee4c2723ab1778127414b1bf3b69f..292db94dac72785332b42a1b9e22af6646179a58 100644 (file)
@@ -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;