This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Adjust builtin-bswap-6/7
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 8 Apr 2014 12:41:02 +0200
- Subject: Re: [PATCH] Adjust builtin-bswap-6/7
- Authentication-results: sourceware.org; auth=none
- References: <20140404161818 dot GA26795 at bart> <533EF13A dot 8010001 at redhat dot com> <CAFiYyc32Squ0DrZOGKRpsdF--qoxXUM5mgEjeNf_USdgJP+LUQ at mail dot gmail dot com> <20140407162214 dot GA25019 at maggie> <CAFiYyc2AGM9UVmxWi9_rvXfB=1RUV493BG3OCBWTOSg=GN=V0Q at mail dot gmail dot com> <20140408084138 dot GA1817 at tucnak dot redhat dot com> <5343B8FF dot 6080904 at linux dot vnet dot ibm dot com> <20140408091221 dot GB1817 at tucnak dot redhat dot com> <5343BFB4 dot 1090208 at linux dot vnet dot ibm dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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