re PR target/60704 (ICE: in extract_constrain_insn_cached, at recog.c:2156 with ...
authorRichard Henderson <rth@redhat.com>
Tue, 1 Apr 2014 14:40:27 +0000 (07:40 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 1 Apr 2014 14:40:27 +0000 (07:40 -0700)
PR target/60704

        * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
        alternative enabled before register allocation.

From-SVN: r208989

gcc/ChangeLog
gcc/config/i386/i386.md

index 238b14d..5fc97c4 100644 (file)
@@ -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.
index ca16173..25e2e93 100644 (file)
                            && 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")))
    ])