https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81158
Bug ID: 81158 Summary: [8 regression] Many test case failures starting with r249424 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- The following tests are the ones that fail on powerpc64. Most fail on just LE but a few also fail on BE. FAIL: gcc.c-torture/execute/pr51581-1.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gcc.c-torture/execute/pr51581-1.c -O3 -g execution test FAIL: gcc.c-torture/execute/pr51581-2.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gcc.c-torture/execute/pr51581-2.c -O3 -g execution test FAIL: gcc.c-torture/execute/pr53645.c -O1 execution test FAIL: gcc.c-torture/execute/pr53645.c -O2 execution test FAIL: gcc.c-torture/execute/pr53645.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test FAIL: gcc.c-torture/execute/pr53645.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects execution test FAIL: gcc.c-torture/execute/pr53645.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gcc.c-torture/execute/pr53645.c -O3 -g execution test FAIL: gcc.c-torture/execute/pr53645.c -Os execution test FAIL: gcc.dg/vect/pr51581-1.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/pr51581-1.c execution test FAIL: gcc.dg/vect/pr51581-2.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/pr51581-2.c execution test FAIL: gcc.dg/vect/pr51581-3.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/pr51581-3.c execution test FAIL: gcc.target/powerpc/builtins-3.c scan-assembler-times vmulesh 1 FAIL: gcc.target/powerpc/builtins-3.c scan-assembler-times vmuleuh 1 FAIL: gcc.target/powerpc/builtins-3.c scan-assembler-times vmulosh 1 FAIL: gcc.target/powerpc/builtins-3.c scan-assembler-times vmulouh 1 Note: builttin-3 also fails on BE FAIL: libgomp.fortran/appendix-a/a.16.1.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test >From looking at the failures it appears that array values are getting messed up. Looking at pr51581-1: (gdb) run Starting program: /home/seurer/gcc/build/gcc-test/pr51581-1.exe Program received signal SIGABRT, Aborted. 0x00003fffb7d00a88 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) where #0 0x00003fffb7d00a88 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00003fffb7d0686c in __GI_abort () at abort.c:89 #2 0x0000000010000874 in main () at /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/pr51581-1.c:130 int main () { . . . for (i = 0; i < N; i++) if (c[i] != a[i] / 3 || d[i] != b[i] / 3) abort (); // line 130 . . . Looking at pr53645: (gdb) run Starting program: /home/seurer/gcc/build/gcc-test/pr53645.exe Program received signal SIGABRT, Aborted. 0x00003fffb7d00a88 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) where #0 0x00003fffb7d00a88 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00003fffb7d0686c in __GI_abort () at abort.c:89 #2 0x0000000010001fc8 in main () at /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/pr53645.c:74 int main () { UV ur, ur2; SV sr, sr2; int i; #undef TEST #define TEST(a, b, c, d) \ uq##a##b##c##d (&ur, u + i); \ if (ur[0] != u[i][0] / a || ur[3] != u[i][3] / d) \ abort (); \ asm volatile ("" : : "r" (&ur) : "memory"); \ if (ur[2] != u[i][2] / c || ur[1] != u[i][1] / b) \ abort (); \ asm volatile ("" : : "r" (&ur) : "memory"); \ ur##a##b##c##d (&ur, u + i); \ if (ur[0] != u[i][0] % a || ur[3] != u[i][3] % d) \ abort (); \ asm volatile ("" : : "r" (&ur) : "memory"); \ if (ur[2] != u[i][2] % c || ur[1] != u[i][1] % b) \ abort (); \ asm volatile ("" : : "r" (&ur) : "memory"); for (i = 0; i < sizeof (u) / sizeof (u[0]); i++) { TESTS // Line 74 } The last one fails with a segmentation fault: Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error: FAIL: libgomp.fortran/appendix-a/a.16.1.f90 -O3 -g execution test