This breaks gfortran.dg/bounds_check_15.f90 with -O3 -funroll-loops
-fbounds-check on ia64:
Error: qsort comparator non-negative on sorted output: 1
during RTL pass: mach
../gcc/testsuite/gfortran.dg/bounds_check_15.f90:32:0: internal compiler error:
qsort checking failed
0x40000000001cc1ff qsort_chk_error
../../gcc/vec.c:222
0x400000000223130f qsort_chk(void*, unsigned long, unsigned long, int (*)(void
const*, void const*))
../../gcc/vec.c:274
0x400000000114ba4f vec<_expr*, va_heap, vl_embed>::qsort(int (*)(void const*,
void const*))
../../gcc/vec.h:973
0x400000000114ba4f vec<_expr*, va_heap, vl_ptr>::qsort(int (*)(void const*,
void const*))
../../gcc/vec.h:1735
0x400000000114ba4f fill_vec_av_set
../../gcc/sel-sched.c:3725
0x40000000011517df fill_ready_list
../../gcc/sel-sched.c:4022
0x40000000011517df find_best_expr
../../gcc/sel-sched.c:4382
0x40000000011517df fill_insns
../../gcc/sel-sched.c:5539
0x40000000011517df schedule_on_fences
../../gcc/sel-sched.c:7356
0x40000000011517df sel_sched_region_2
../../gcc/sel-sched.c:7494
0x4000000001158d0f sel_sched_region_1
../../gcc/sel-sched.c:7536
0x4000000001158d0f sel_sched_region(int)
../../gcc/sel-sched.c:7637
0x400000000115a0af run_selective_scheduling()
../../gcc/sel-sched.c:7713
0x4000000001a50a5f ia64_reorg
../../gcc/config/ia64/ia64.c:9854
0x40000000010c2a8f execute
../../gcc/reorg.c:3947
Andreas.
--
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."