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

            Bug ID: 114196
           Summary: [13/14 Regression] Fixed length vector ICE: in
                    vect_peel_nonlinear_iv_init, at tree-vect-loop.cc:9454
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: patrick at rivosinc dot com
  Target Milestone: ---

Created attachment 57589
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57589&action=edit
-freport-bug output

Testcase:
unsigned a;
int b;
long *c;
int main() {
  for (short d = 1; d < (short)5443215699099219 - 15932; d += 94 - 90) {
    b = ({
      __typeof__(0) e = c[d];
      e;
    })
            ?: -c[d];
    a *= 3;
  }
}

Backtrace:
> /scratch/tc-testing/tc-feb-20/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc 
> -march=rv64gcv_zvl256b -O3 --param=riscv-autovec-preference=fixed-vlmax red.c 
> -o red.out
during GIMPLE pass: vect
./red.c: In function 'main':
./red.c:4:5: internal compiler error: in vect_peel_nonlinear_iv_init, at
tree-vect-loop.cc:9454
    4 | int main() {
      |     ^~~~
0xb04d35 vect_peel_nonlinear_iv_init(gimple**, tree_node*, tree_node*,
tree_node*, vect_induction_op_type)
        ../../../gcc/gcc/tree-vect-loop.cc:9454
0x15e6c54 vect_update_ivs_after_vectorizer
        ../../../gcc/gcc/tree-vect-loop-manip.cc:2368
0x15f3ca7 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool, tree_node**)
        ../../../gcc/gcc/tree-vect-loop-manip.cc:3501
0x15e198e vect_transform_loop(_loop_vec_info*, gimple*)
        ../../../gcc/gcc/tree-vect-loop.cc:11934
0x1627a01 vect_transform_loops
        ../../../gcc/gcc/tree-vectorizer.cc:1006
0x1628173 try_vectorize_loop_1
        ../../../gcc/gcc/tree-vectorizer.cc:1152
0x1628173 try_vectorize_loop
        ../../../gcc/gcc/tree-vectorizer.cc:1182
0x16287fc execute
        ../../../gcc/gcc/tree-vectorizer.cc:1298
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Godbolt: https://godbolt.org/z/eeEan1hvv

Tested/found using r14-9084-g61ab046a327 (not bisected)

Found via fuzzer.

Reply via email to