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

            Bug ID: 126852
           Summary: ICE on valid code at -O3 with "-mavx2
                    -fno-vect-cost-model -fno-tree-pre" on
                    x86_64-linux-gnu: verify_ssa failed
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zhendong.su at inf dot ethz.ch
  Target Milestone: ---

Compiler Explorer: https://godbolt.org/z/4ePjrKd6n

Note:
- fails: trunk
- works: 16.2 and earlier

[723] % gcctk -v
Using built-in specs.
COLLECT_GCC=gcctk
COLLECT_LTO_WRAPPER=/local/home/suz/suz-local/software/local/gcc-trunk/bin/../libexec/gcc/x86_64-pc-linux-gnu/17.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-trunk/configure --disable-bootstrap
--enable-checking=yes --prefix=/local/suz-local/software/local/gcc-trunk
--enable-sanitizers --enable-languages=c,c++,lto --disable-werror
--disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 17.0.0 20260813 (experimental) [master r17-1628-gd1c12591336] (GCC) 
[724] % 
[724] % gcctk -O3 -c -mavx2 -fno-vect-cost-model -fno-tree-pre small.c
small.c: In function ā€˜e’:
small.c:7:6: error: definition in block 6 does not dominate use in block 12
    7 | void e(char f, char g, long h, long i) {
      |      ^
for SSA_NAME: _57 in statement:
vect__29.12_58 = PHI <_57(12)>
PHI argument
_57
for PHI node
vect__29.12_58 = PHI <_57(12)>
during GIMPLE pass: slp
small.c:7:6: internal compiler error: verify_ssa failed
0x27cea3b internal_error(char const*, ...)
        ../../gcc-trunk/gcc/diagnostic-global-context.cc:787
0x14adbff verify_ssa(bool, bool)
        ../../gcc-trunk/gcc/tree-ssa.cc:1226
0x10c52d4 execute_function_todo
        ../../gcc-trunk/gcc/passes.cc:2107
0x10c5a2e execute_todo
        ../../gcc-trunk/gcc/passes.cc:2152
/local/home/suz/suz-local/software/local/gcc-trunk/bin/../libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1
-quiet -I /usr/local/include -I /local/suz-local/software/local/include
-imultiarch x86_64-linux-gnu -iprefix
/local/home/suz/suz-local/software/local/gcc-trunk/bin/../lib/gcc/x86_64-pc-linux-gnu/17.0.0/
small.c -quiet -dumpbase small.c -dumpbase-ext .c -mavx2 -mtune=generic
-march=x86-64 -O3 -fvect-cost-model=unlimited -fno-tree-pre -o /tmp/ccxKBQfl.s
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.
[725] % 
[725] % cat small.c
int a;
long b, c;
__attribute__((noinline)) int d() {
  a = 0;
  return 0;
}
void e(char f, char g, long h, long i) {
  char j;
k:
  do {
    j = 2 * f;
    if (!g)
      return;
    d();
    if (g << g)
      goto k;
    unsigned long m = b;
    long n = m >> 8;
    c = n + 2088470516281635866 * i + h * h + 7017580219 * i;
  } while (j < f + 2);
}

Reply via email to