This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH], PR 68404 patch #4 (fix earlyclobber problem on power8 fusion)
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 18 Feb 2016 13:19:45 -0500
- Subject: Re: [PATCH], PR 68404 patch #4 (fix earlyclobber problem on power8 fusion)
- Authentication-results: sourceware.org; auth=none
- References: <20160210224217 dot GA24945 at ibm-tiger dot the-meissners dot org> <20160211214347 dot GA22837 at ibm-tiger dot the-meissners dot org> <20160218164523 dot GA19601 at ibm-tiger dot the-meissners dot org>
On Thu, Feb 18, 2016 at 11:45 AM, Michael Meissner
<meissner@linux.vnet.ibm.com> wrote:
> This patch to rs6000.md (which is essentially the same as #3) fixes the problem
> by removing the early clobber. The patches to predicates.md, and the fusion
> tests revert my changes on February 9th that originally 'solved' the problem by
> not allowing fusion of ADDI values. We have tested the fix using a combine
> profiled and LTO bootstrap build and it does not cause any regressions.
> Because machine independent changes can mask the bug at times, we also did a
> profiled/LTO build on the subversion revision that showed up the problem. Is
> this ok to install in the trunk?
>
> Since gcc 5 contains the exact same early clobber, I would like to also back
> port the change to GCC 5.
>
> [gcc]
> 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
>
> PR target/68404
> * config/rs6000/predicates.md (fusion_gpr_addis): Revert
> 2016-02-09 change.
>
> * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
> earlyclobber from target. Use wF constraint for fused memory
> address.
> (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
>
> [gcc/testsuites]
> 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
>
> PR target/68404
> * gcc.target/powerpc/fusion.c: Revert the 2016-02-09 change.
> * gcc.target/powerpc/fusion3.c: Likewise.
This is okay for trunk and GCC 5 branch.
Thanks, David