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

--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
For this C code

c(int *d, char *g) {
  char *a, *b, *e;
  int f;
  for (; f; f -= 8) {
    *d++ = *e++ | (unsigned)*g++ << 8 | (unsigned)*b++ << 16 |
           (unsigned)*a++ << 24;
    *d++ = *e++ | (unsigned)*g++ << 8 | (unsigned)*b++ << 16 |
           (unsigned)*a++ << 24;
  }
}

compiled by recent gcc trunk and flag -O3, I get:

$ ~/gcc/results/bin/gcc -c -w -O3 bug446.c
during GIMPLE pass: vect
bug446.c: In function ā€˜cā€™:
bug446.c:1:1: internal compiler error: in get_later_stmt, at
tree-vectorizer.h:1108
 c(int *d, char *g) {
 ^
0x7df578 get_later_stmt
        ../../trunk/gcc/tree-vectorizer.h:1105
0x7df578 vect_find_last_scalar_stmt_in_slp(_slp_tree*)
        ../../trunk/gcc/tree-vect-slp.c:1819
0x31aaaa6 vect_find_last_scalar_stmt_in_slp(_slp_tree*)
        ../../trunk/gcc/tree-vect-slp.c:1815
0x31aaaa6 vect_schedule_slp_instance

$ ~/gcc/results/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/dcb/gcc/results/bin/gcc
COLLECT_LTO_WRAPPER=/home/dcb/gcc/results.261680.ubsan/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../trunk/configure --prefix=/home/dcb/gcc/results.261680.ubsan
--with-build-config=bootstrap-ubsan --disable-multilib --disable-werror
--enable-checking=df,extra,fold,rtl,yes --enable-languages=c,c++,fortran
Thread model: posix
gcc version 9.0.0 20180616 (experimental) (GCC) 
$

Reply via email to