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

--- Comment #4 from David Binderman <dcb314 at hotmail dot com> ---
This C code might be related:

typedef unsigned uint32_t;
typedef uint32_t uint32x4 __attribute__((vector_size(16)));
typedef struct {
  uint32x4 b, d
} prng_t;
prng_t prng_rand_128_r_x;
main_flags;
main() {
  uint32_t ref_crc[] = {7, 3};
  uint32x4 e = (prng_rand_128_r_x.b << 27) + (prng_rand_128_r_x.b >> 32 - 27);
  prng_rand_128_r_x.d = e;
  if (ref_crc[main_flags])
    __assert_fail();
}

$ ~/gcc/results/bin/gcc -c -w -O2 bug936B.c
during GIMPLE pass: slp
bug936B.c: In function ‘main’:
bug936B.c:8:1: internal compiler error: tree check: expected none of
vector_type
, have vector_type in vect_recog_rotate_pattern, at tree-vect-patterns.cc:3729
    8 | main() {
      | ^~~~
0x1166129 tree_not_check_failed(tree_node const*, char const*, int, char
const*,
 ...)
        ../../trunk.year/gcc/tree.cc:8936
0x1cc8da3 vect_recog_rotate_pattern(vec_info*, _stmt_vec_info*, tree_node**)
        ../../trunk.year/gcc/tree-vect-patterns.cc:0

Reply via email to