User account creation filtered due to spam.

Bug 81158 - [8 regression] Many test case failures starting with r249424
Summary: [8 regression] Many test case failures starting with r249424
Status: UNCONFIRMED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: 8.0
Assignee: Not yet assigned to anyone
URL:
Keywords: wrong-code
Depends on:
Blocks:
 
Reported: 2017-06-21 18:24 UTC by seurer
Modified: 2017-06-26 20:57 UTC (History)
2 users (show)

See Also:
Host:
Target: powerpc*
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description seurer 2017-06-21 18:24:24 UTC
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
Comment 1 Bill Schmidt 2017-06-22 21:06:07 UTC
I expect this is probably due to the changes to rs6000_gimple_fold_builtin.
Comment 2 Carl Love 2017-06-22 23:47:39 UTC
On Thu, 2017-06-22 at 21:06 +0000, wschmidt at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81158
> 
> --- Comment #1 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
> I expect this is probably due to the changes to rs6000_gimple_fold_builtin.
> 

Bill:

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

Unfortunately, this is due to my screw up.  The patch to fix the
vec_mule and vec_mulo was missing the test case update.  I made the
change to the test case but didn't get it included in the patch.  I have
since fixed the above failures, commit 249572.  The commit was tested on
Power 8 BE, LE and Power 7 to make sure they are all working now.

The other tests listed, gcc.c-torture/execute/* and gcc.dg/vect/* I have
never touched so I don't think I am responsible for those.  :-) 

                    Carl
Comment 3 seurer 2017-06-26 20:57:43 UTC
I tried 249423 and don't see those failures but do with 249424.

For example:

seurer@genoa:~/gcc/build/gcc-test$ updategcc 249423
seurer@genoa:~/gcc/build/gcc-test$ make -j50
seurer@genoa:~/gcc/build/gcc-test$ make -k check-gcc RUNTESTFLAGS=execute.exp=gcc.c-torture/execute/pr51581-1.c 2>&1 > make.249423.out
seurer@genoa:~/gcc/build/gcc-test$ grep FAIL make.249423.out 
seurer@genoa:~/gcc/build/gcc-test$ 

seurer@genoa:~/gcc/build/gcc-test$ updategcc 249424
seurer@genoa:~/gcc/build/gcc-test$ make -j50
seurer@genoa:~/gcc/build/gcc-test$ make -k check-gcc RUNTESTFLAGS=execute.exp=gcc.c-torture/execute/pr51581-1.c 2>&1 > make.249424.out

seurer@genoa:~/gcc/build/gcc-test$ grep FAIL make.249424.out 
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