This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/48143] [4.6/4.7 Regression] ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7114 with custom flags
- From: "abel at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 18 Mar 2011 14:35:32 +0000
- Subject: [Bug rtl-optimization/48143] [4.6/4.7 Regression] ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7114 with custom flags
- Auto-submitted: auto-generated
- References: <bug-48143-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48143
Andrey Belevantsev <abel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ubizjak at gmail dot com
--- Comment #2 from Andrey Belevantsev <abel at gcc dot gnu.org> 2011-03-18 14:35:30 UTC ---
We ICE because we again issue more than issue_rate insns. And this happens
because we hit an insn which does not modify the DFA state at all, thus we do
not account for it when checking that we obey issue_rate limits. The insn is
coming from sse2_cvtps2pd pattern of sse.md and it doesn't have a reservation
(has "nothing").
I don't have any idea how the pattern attributes should be fixed, but the
following seems to work on the test case. Uros, does this make sense?
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index ba2bf24..71c4bb7 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -2878,6 +2878,7 @@
(set_attr "prefix" "maybe_vex")
(set_attr "mode" "V2DF")
(set_attr "prefix_data16" "0")
+ (set_attr "athlon_decode" "double")
(set_attr "amdfam10_decode" "direct")
(set_attr "bdver1_decode" "double")])