------- Comment #13 from abel at ispras dot ru 2008-09-05 10:32 ------- (In reply to comment #12) > I think it's reasonable to disable the assert with a comment for now and > file a separate bugreport for the targets who lie about their issue rate.
Ok, with the below patch my failing test case compiles in an identical assembly as it was compiled before the sel-sched merge. I've also bootstrapped it on x86_64. If the patch will fix MIPS bootstrap, I think it can be committed as obvious. 2008-09-05 Andrey Belevantsev <[EMAIL PROTECTED]> PR 37360 * haifa-sched.c (max_issue): Do not assert that we never issue more insns than issue_rate. Add comment. Index: gcc/haifa-sched.c =================================================================== *** gcc/haifa-sched.c (revision 140031) --- gcc/haifa-sched.c (working copy) *************** max_issue (struct ready_list *ready, int *** 2071,2077 **** /* Init max_points. */ max_points = 0; more_issue = issue_rate - cycle_issued_insns; ! gcc_assert (more_issue >= 0); for (i = 0; i < n_ready; i++) if (!ready_try [i]) --- 2071,2084 ---- /* Init max_points. */ max_points = 0; more_issue = issue_rate - cycle_issued_insns; ! ! /* ??? We used to assert here that we never issue more insns than issue_rate. ! However, some targets (e.g. MIPS/SB1) claim lower issue rate than can be ! achieved to get better performance. Until these targets are fixed to use ! scheduler hooks to manipulate insns priority instead, the assert should ! be disabled. ! ! gcc_assert (more_issue >= 0); */ for (i = 0; i < n_ready; i++) if (!ready_try [i]) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37360