On 04/08/2014 11:12 AM, Jakub Jelinek wrote: > On Tue, Apr 08, 2014 at 10:53:19AM +0200, Andreas Krebbel wrote: >> On 04/08/2014 10:41 AM, Jakub Jelinek wrote: >>> On Tue, Apr 08, 2014 at 10:26:30AM +0200, Richard Biener wrote: >>>> On Mon, Apr 7, 2014 at 6:22 PM, Andreas Krebbel >>>> <kreb...@linux.vnet.ibm.com> wrote: >>>>> On Mon, Apr 07, 2014 at 04:19:06PM +0200, Richard Biener wrote: >>>>>> The adjusted testcases now fail on x86_64/i?86 at least. See PR60776. >>>>> >>>>> They seem to require at least -O2 on x86 with that change. Ok to apply? >>>> >>>> Hmm, they passed before your change. Do you mean that this was >>>> by accident (and only because of the special return value)? If so then >>>> the patch is ok. >>> >>> The reason why it worked with the if ... return 1; else return 0; case is >>> that in that case it has already been expanded as store flag insn and thus >>> in that case ce1 pass didn't discover the conditional move there, thus no >>> dead code waiting to be eliminated after ce1 and still present during >>> combine pass. >>> >>> Another alternative for -O2 would be -O -fno-if-conversion I guess. >> >> I could also revert the testcase changes and add -mbranch-cost=2 for s390?! > > That doesn't seem to work (at least for me with cross-compiler to s390x).
Seems to be -mbranch-cost=0 this time. > >>> >>> OT, when touching the testcase, I'd say it would be better if you've >>> converted it to single dg-options + /* { dg-additional-options >>> "-march=z900" { target s390*-*-* } } */ >> >> Ok. > > Thanks. > > Jakub >