http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60969
--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to H.J. Lu from comment #2) > -mfpmath=387 is also needed to reproduce ICE. This patch: > > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md > index 11770fe..6ec9734 100644 > --- a/gcc/config/i386/i386.md > +++ b/gcc/config/i386/i386.md > @@ -3201,7 +3201,7 @@ > (const_string "1") > (const_string "*"))) > (set (attr "mode") > - (cond [(eq_attr "alternative" "3,4,9,10,13,14,15") > + (cond [(eq_attr "alternative" "3,4,9,10,12,13,14,15") > (const_string "SI") > (eq_attr "alternative" "11") > (const_string "DI") > > fixes ICE. But I don't think the generated code is correct since LRA uses > MMX registers and x87 registers, treating them as independent. Ops, this patch is OK and preapproved.