This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Adjust builtin-bswap-6/7


On Tue, Apr 08, 2014 at 11:21:56AM +0200, Andreas Krebbel wrote:
> 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
> >>>> <krebbel@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.

Indeed, that works too.

Thus, please commit any of these variants, if you go for
/* { dg-additional-options "-mbranch-cost=0" { target s390*-*-* } } */
plus reverting your earlier changes, you can also consider
addition of two new tests that would contain the return {1,2} and have -O2.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]