http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60969

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
-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.

Reply via email to