This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386]: Rewrite x87 sqrt patterns, take 2a (macroized)
- From: Roger Sayle <roger at eyesopen dot com>
- To: Eric Botcazou <ebotcazou at libertysurf dot fr>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, <gcc-patches at gcc dot gnu dot org>, Michael Matz <matz at suse dot de>, Andrew Haley <aph at redhat dot com>
- Date: Sat, 25 Nov 2006 11:27:50 -0700 (MST)
- Subject: Re: [PATCH, i386]: Rewrite x87 sqrt patterns, take 2a (macroized)
Thanks Eric,
On Sat, 25 Nov 2006, Eric Botcazou wrote:
> > + case UNSPEC:
> > + if (XINT (*pat, 1) == UNSPEC_TRUNC_NOOP)
> > + {
> > + pat = & XVECEXP (*pat, 0, 0);
> > + break;
> > + }
> > +
>
> internal compiler error: RTL check: expected elt 0 type 'e' or 'u',
> have 'E' (rtx unspec) in get_true_reg, at reg-stack.c:452
Grr, it looks like Uros meant to write:
+ case UNSPEC:
+ if (XINT (*pat, 1) == UNSPEC_TRUNC_NOOP)
+ pat = & XVECEXP (*pat, 0, 0);
+ break;
Or else we fall through to the FLOAT_TRUNCATE case for UNSPECs other
than UNSPEC_TRUNC_NOOP.
I'll pre-approve that correction (as obvious?), if it bootstraps and
regression tests without problems. My apologies for missing this
during review.
Roger
--