aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2014-04-01 07:40:27 -0700
committerRichard Henderson <rth@gcc.gnu.org>2014-04-01 07:40:27 -0700
commit2a1ffd6db5dc970b2c41f78ac5c37dc21b13de6a (patch)
treeb9cf5d0265170d90c6438304469965f6543ad855
parent98e8dd4d860701e0263e947ea260fa9f12d62ee4 (diff)
downloadgcc-2a1ffd6db5dc970b2c41f78ac5c37dc21b13de6a.zip
gcc-2a1ffd6db5dc970b2c41f78ac5c37dc21b13de6a.tar.gz
gcc-2a1ffd6db5dc970b2c41f78ac5c37dc21b13de6a.tar.bz2
re PR target/60704 (ICE: in extract_constrain_insn_cached, at recog.c:2156 with -flive-range-shrinkage -march=amdfam10)
PR target/60704 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second alternative enabled before register allocation. From-SVN: r208989
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md7
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 238b14d..5fc97c4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-04-01 Richard Henderson <rth@redhat.com>
+
+ PR target/60704
+ * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
+ alternative enabled before register allocation.
+
2014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
* config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index ca16173..25e2e93 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -4739,8 +4739,13 @@
&& X87_ENABLE_FLOAT (<MODEF:MODE>mode,
<SWI48:MODE>mode)")
(eq_attr "alternative" "1")
+ /* ??? For sched1 we need constrain_operands to be able to
+ select an alternative. Leave this enabled before RA. */
(symbol_ref "TARGET_INTER_UNIT_CONVERSIONS
- || optimize_function_for_size_p (cfun)")
+ || optimize_function_for_size_p (cfun)
+ || !(reload_completed
+ || reload_in_progress
+ || lra_in_progress)")
]
(symbol_ref "true")))
])