From ead8233bdae81d70bd9e603a69397ef2cff7e7e8 Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@redhat.com>
Date: Tue, 18 Mar 2014 13:24:29 -0700
Subject: [PATCH] re PR target/60562 (FAIL:
 gcc.target/i386/excess-precision-3.c execution test after r208587)

PR target/60562

        * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Check
	X87_ENABLE_FLOAT for alternative 0.

From-SVN: r208666
---
 gcc/ChangeLog           | 1 +
 gcc/config/i386/i386.md | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 91b7bcc861c9..6f408a5b13da 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -10,6 +10,7 @@
 	PR target/60562
 	* config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
 	be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
+	(*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
 
 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
 
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index abc22f234e00..4a8b46388bce 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -4726,7 +4726,9 @@
    (set_attr "fp_int_src" "true")
    (set (attr "enabled")
      (cond [(eq_attr "alternative" "0")
-              (symbol_ref "TARGET_MIX_SSE_I387")
+              (symbol_ref "TARGET_MIX_SSE_I387
+                           && X87_ENABLE_FLOAT (<MODEF:MODE>mode,
+                                                <SWI48:MODE>mode)")
             (eq_attr "alternative" "1")
               (symbol_ref "TARGET_INTER_UNIT_CONVERSIONS
                            || optimize_function_for_size_p (cfun)")
-- 
GitLab