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.