https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97104

            Bug ID: 97104
           Summary: [11 Regression] aarch64, SVE: ICE in
                    vect_get_loop_mask since r11-3070-g783dc66f9cc
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: acoplan at gcc dot gnu.org
  Target Milestone: ---

For the following testcase:

int a, b, c, d;
short e;
void f() {
  unsigned g;
  for (; d; d++) {
    g = c == 0 ? 1 : b / c;
    e = a ? g : a;
  }
}

AArch64 GCC ICEs at -O1 or -O2 with -ftree-vectorize -march=armv8.2-a+sve since
r11-3070-g783dc66f9ccb0019c3dad2701bb9110286758d70:

commit 783dc66f9ccb0019c3dad2701bb9110286758d70 (HEAD)
Author: Richard Biener <rguent...@suse.de>
Date:   Wed Sep 9 09:36:46 2020

    enable live condition vectorization

To reproduce:

$ aarch64-none-elf-gcc -O2 -ftree-vectorize -march=armv8.2-a+sve test.c
during GIMPLE pass: vect
test.c: In function 'f':
test.c:3:6: internal compiler error: in operator[], at vec.h:880
    3 | void f() {
      |      ^
0x10637d9 vec<rgroup_controls, va_heap, vl_embed>::operator[](unsigned int)
        /home/alecop01/toolchain/src/gcc/gcc/vec.h:880
0x10637d9 vec<rgroup_controls, va_heap, vl_ptr>::operator[](unsigned int)
        /home/alecop01/toolchain/src/gcc/gcc/vec.h:1451
0x10637d9 vect_get_loop_mask(gimple_stmt_iterator*, auto_vec<rgroup_controls,
0ul>*, unsigned int, tree_node*, unsigned int)
        /home/alecop01/toolchain/src/gcc/gcc/tree-vect-loop.c:8487
0x1044e00 vectorizable_condition
        /home/alecop01/toolchain/src/gcc/gcc/tree-vect-stmts.c:10216
0x105a73e vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
        /home/alecop01/toolchain/src/gcc/gcc/tree-vect-stmts.c:10859
0x1061099 vect_transform_loop_stmt
        /home/alecop01/toolchain/src/gcc/gcc/tree-vect-loop.c:8700
0x107db5d vect_transform_loop(_loop_vec_info*, gimple*)
        /home/alecop01/toolchain/src/gcc/gcc/tree-vect-loop.c:9134
0x10a3c34 try_vectorize_loop_1
        /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1094
0x10a43b6 try_vectorize_loop
        /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1151
0x10a46f0 vectorize_loops()
        /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1230
0xf392f7 execute
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-loop.c:414
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to