This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Add another e500 subreg pattern
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, dje dot gcc at gmail dot com
- Date: Wed, 23 Nov 2016 15:51:06 -0600
- Subject: Re: Add another e500 subreg pattern
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1611232113001.9078@digraph.polyomino.org.uk>
On Wed, Nov 23, 2016 at 09:14:44PM +0000, Joseph Myers wrote:
> This patch adds an insn pattern similar to various patterns already
> present to handle extracting such a subreg. This allows the glibc
> build to get further, until it runs into an assembler error for which
> I have another patch. OK to commit?
>
> gcc:
> 2016-11-23 Joseph Myers <joseph@codesourcery.com>
>
> * config/rs6000/spe.md (*frob_<SPE64:mode>_ti_8): New insn
> pattern.
>
> gcc/testsuite:
> 2016-11-23 Joseph Myers <joseph@codesourcery.com>
>
> * gcc.c-torture/compile/20161123-1.c: New test.
Okay, thanks! One question...
> --- gcc/testsuite/gcc.c-torture/compile/20161123-1.c (nonexistent)
> +++ gcc/testsuite/gcc.c-torture/compile/20161123-1.c (working copy)
> @@ -0,0 +1,7 @@
> +double
> +f (long double x)
> +{
> + union { long double ld; double d[2]; } u;
> + u.ld = x;
> + return u.d[1];
> +}
This is undefined behaviour with -mlong-double-64; do we care?
Segher