This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #3
- From: Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 26 Sep 2013 19:15:15 -0400
- Subject: Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #3
- Authentication-results: sourceware.org; auth=none
- References: <20130822185658 dot GA30430 at ibm-tiger dot the-meissners dot org> <20130923200617 dot GA3900 at ibm-tiger dot the-meissners dot org> <20130924203310 dot GA25337 at ibm-tiger dot the-meissners dot org> <CAGWvnykGupvw8na+GcKUxkpbcn6CV6HVrXuAcHeQdaSf52STTg at mail dot gmail dot com> <20130926205137 dot GA28417 at ibm-tiger dot the-meissners dot org> <CAGWvnykMv3m-wDwvy4P7yy0W6RaiCDA58hw3ti6yqgsK7P0Z+w at mail dot gmail dot com>
On Thu, Sep 26, 2013 at 06:56:37PM -0400, David Edelsohn wrote:
> On Thu, Sep 26, 2013 at 4:51 PM, Michael Meissner
> <meissner@linux.vnet.ibm.com> wrote:
> > I discovered that I was setting the wv/wu constraints incorrectly to
> > ALTIVEC_REGS, which leads to reload failures in some cases.
> >
> > Is this patch ok to apply along with the previous patch assuming it bootstraps
> > and has no regressions with make check? It builds the programs that had
> > failures with the previous patch.
> >
> > 2013-09-26 Michael Meissner <meissner@linux.vnet.ibm.com>
> >
> > * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Don't
> > allow wv/wu constraints to be ALTIVEC_REGISTERS unless DF/SF can
> > occupy the Altivec registers.
>
> Okay.
>
> Can you add a testcase to catch this in the future?
You only see it in big programs with agressive optimizations. I did not see it
during the normal testing (bootstrap, etc.).
The failure is reload complaining it can't find an Altivec register to spill if
the move pattern has an option for only Altivec registers. It isn't like bad
code is silently generated. I will check the 5 spec benchmarks that failed
with to see if I can extract one module that shows it off.
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
- References:
- Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #2
- Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #3
- Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #3
- Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #3
- Re: [PATCH, powerpc] Rework#2 VSX scalar floating point support, patch #3