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

            Bug ID: 98268
           Summary: ICE: verify_gimple failed with LTO and SVE
           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: ---

The following fails on the head of the GCC 10 branch (reproduced at
g:907525c3063e6ec5cf02790a5d5a37053c731401 with both an aarch64-elf cross and
natively on aarch64-linux-gnu):

$ cat a.c
short d, e;
void f(char, long*);
int main() {
  long x;
  f(-114, &x);
  return d == e;
}
$ cat b.c
extern short d[], e[];
void f(char a, long *b) {
  for (int c = 0; c < a - 12; c++) {
    d[c] = b[c];
    e[c] = 0;
  }
}
$ aarch64-elf-gcc a.c b.c -flto -O1 -march=armv8.2-a+sve -ftree-vectorize
-msve-vector-bits=128
a.c: In function 'main':
a.c:3:5: error: constant not recomputed when 'ADDR_EXPR' changed
    3 | int main() {
      |     ^
_59 = &MEM <vector(2) short int> [(short int *)&d + 256B];
a.c:3:5: error: constant not recomputed when 'ADDR_EXPR' changed
_64 = &MEM <vector(2) short int> [(short int *)&e + 256B];
during GIMPLE pass: dom
a.c:3:5: internal compiler error: verify_gimple failed
0xcbba04 verify_gimple_in_cfg(function*, bool)
        /home/alecop01/toolchain/src/gcc/gcc/tree-cfg.c:5492
0xb6dca8 execute_function_todo
        /home/alecop01/toolchain/src/gcc/gcc/passes.c:1985
0xb6dea2 do_per_function
        /home/alecop01/toolchain/src/gcc/gcc/passes.c:1640
0xb6e03d execute_todo
        /home/alecop01/toolchain/src/gcc/gcc/passes.c:2039
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.
lto-wrapper: fatal error: aarch64-elf-gcc returned 1 exit status
compilation terminated.
/home/alecop01/toolchain/build-aarch64-elf/install/lib/gcc/aarch64-elf/10.2.1/../../../../aarch64-elf/bin/ld:
error: lto-wrapper failed
collect2: error: ld returned 1 exit status

I haven't been able to reproduce the issue on trunk, however.

Reply via email to