]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Change IR generation for MVCLE to not generate cc=3. This should have been
authorFlorian Krohm <florian@eich-krohm.de>
Wed, 25 Jul 2012 17:10:49 +0000 (17:10 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Wed, 25 Jul 2012 17:10:49 +0000 (17:10 +0000)
included in r2446, but was not obvious to spot.

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

VEX/priv/guest_s390_toIR.c

index c63aebef4079a70f2b0b049d3e8838eab15ddd98..94b5a630c289f3b4dfd3ccf98be5dc27699e772e 100644 (file)
@@ -9495,16 +9495,6 @@ s390_irgen_MVCLE(UChar r1, UChar r3, IRTemp pad2)
                mkite(binop(Iop_CmpEQ64, mkexpr(len3), mkU64(0)),
                      mkU64(0), binop(Iop_Sub64, mkexpr(len3), mkU64(1))));
 
-   /* We should set CC=3 (faked by overflow add) and leave after
-      a maximum of ~4096 bytes have been processed. This is simpler:
-      we leave whenever (len1 % 4096) == 0 */
-   s390_cc_thunk_put2(S390_CC_OP_UNSIGNED_ADD_64, mktemp(Ity_I64, mkU64(-1ULL)),
-                      mktemp(Ity_I64, mkU64(-1ULL)), False);
-   if_condition_goto(binop(Iop_CmpEQ64,
-                           binop(Iop_And64, mkexpr(len1), mkU64(0xfff)),
-                           mkU64(0)),
-                     guest_IA_next_instr);
-
    s390_cc_thunk_put2(S390_CC_OP_UNSIGNED_COMPARE, len1, len3, False);
    if_condition_goto(binop(Iop_CmpNE64, mkexpr(len1), mkU64(1)),
                      guest_IA_curr_instr);