https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84566
Bug ID: 84566 Summary: error: qsort comparator not anti-commutative: -1, -1 on aarch64 in sched1 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: amonakov at gcc dot gnu.org Target Milestone: --- Host: x86_64-unknown-linux-gnu Target: aarch64-linux-gnu Following ICEs: $ aarch64-linux-gnu-g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.other/crash15.C /dev/null -mcpu=cortex-a35 -O2 -fselective-scheduling /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.other/crash15.C: In function ‘void test05()’: /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.other/crash15.C:43:1: error: qsort comparator not anti-commutative: -1, -1 } ^ during RTL pass: sched1 /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.other/crash15.C:43:1: internal compiler error: qsort checking failed 0x5e693a qsort_chk_error .././../gcc/vec.c:201 0x15781dd qsort_chk(void*, unsigned long, unsigned long, int (*)(void const*, void const*)) .././../gcc/vec.c:255 0xd77de4 vec<_expr*, va_heap, vl_embed>::qsort(int (*)(void const*, void const*)) .././../gcc/vec.h:1054 0xd77de4 vec<_expr*, va_heap, vl_ptr>::qsort(int (*)(void const*, void const*)) .././../gcc/vec.h:1816 0xd77de4 fill_vec_av_set .././../gcc/sel-sched.c:3953 0xd78df3 fill_ready_list .././../gcc/sel-sched.c:4027 0xd78df3 find_best_expr .././../gcc/sel-sched.c:4387 0xd78df3 fill_insns .././../gcc/sel-sched.c:5544 0xd7af80 schedule_on_fences .././../gcc/sel-sched.c:7361 0xd7af80 sel_sched_region_2 .././../gcc/sel-sched.c:7499 0xd7d4b1 sel_sched_region_1 .././../gcc/sel-sched.c:7541 0xd7d4b1 sel_sched_region(int) .././../gcc/sel-sched.c:7642 0xd7da99 run_selective_scheduling() .././../gcc/sel-sched.c:7718 0xd5a45d rest_of_handle_sched .././../gcc/sched-rgn.c:3715 0xd5a45d execute .././../gcc/sched-rgn.c:3825