No ifcvt during ce1 pass (fails i386/ssefp-2.c)
Steven Bosscher
stevenb.gcc@gmail.com
Sat Mar 24 18:44:00 GMT 2007
On 3/15/07, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On 3/15/07, Uros Bizjak <ubizjak@gmail.com> wrote:
> > The testcase is:
> >
> > double x;
> > q()
> > {
> > x=x<5?5:x;
> > }
> >
> > compile this with -O2 -msse2 -mfpmath=sse, and this testcase should
> > compile to maxsd.
>
> This happens because a "fallthrough edge" is meaningless in cfglayout
> mode, but ifcvt.c still gives special meaning to the fallthrough edge.
> This should not matter, but it does for some reason, and I'm
> investigating this right now. I'll try to come up with a fix asap.
This is what my fix will probably look like. I've bootstrapped C only
on x86_64 and I have verified that it restores the CE1 transformation
for your test case. I'll do a full bootstrap with testing over the
weekend. Early comments welcome ;-)
Gr.
Steven
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_ifcvt_for_cfglayout.diff
Type: text/x-patch
Size: 24349 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20070324/f6b41d49/attachment.bin>
More information about the Gcc
mailing list