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.

Reply via email to