Bug 81738 - [8 Regression] gcc.dg/vect/vect-alias-check-6.c FAILs
Summary: [8 Regression] gcc.dg/vect/vect-alias-check-6.c FAILs
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: testsuite (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: 8.0
Assignee: Richard Sandiford
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-06 07:40 UTC by Rainer Orth
Modified: 2017-09-13 16:51 UTC (History)
1 user (show)

See Also:
Host:
Target: sparc-sun-solaris2.11
Build:
Known to work:
Known to fail:
Last reconfirmed: 2017-08-08 00:00:00


Attachments
sparc-sun-solaris2.11 vect-alias-check-6.c.159t.vect (5.88 KB, text/plain)
2017-08-06 07:40 UTC, Rainer Orth
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Orth 2017-08-06 07:40:36 UTC
Created attachment 41936 [details]
sparc-sun-solaris2.11 vect-alias-check-6.c.159t.vect

The new gcc.dg/vect/vect-alias-check-6.c testcase FAILs on Solaris 11/SPARC:

+FAIL: gcc.dg/vect/vect-alias-check-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "LOOP VECTORIZED" 2
+FAIL: gcc.dg/vect/vect-alias-check-6.c scan-tree-dump-times vect "LOOP VECTORIZED" 2

both 32 and 64-bit.

LOOP VECTORIZED only occurs once in the dump, plus

vect-alias-check-6.c:18:3: note: not vectorized: relevant stmt not supported: _3 = b_9(D)->x[_2];

Dump attached for reference.

According to gcc-testresults the test also FAILs on powerpc64-unknown-linux-gnu.

  Rainer
Comment 1 Richard Sandiford 2017-08-08 09:30:22 UTC
Ah yeah, the second loop needs vect_perm.  Will fix.
Comment 2 Richard Sandiford 2017-08-10 19:58:47 UTC
Author: rsandifo
Date: Thu Aug 10 19:58:16 2017
New Revision: 251037

URL: https://gcc.gnu.org/viewcvs?rev=251037&root=gcc&view=rev
Log:
PR81738: Split vect-alias-check-6.c

The second loop in the testcase only vectorises if we can reverse
a vector and if aligned loads aren't required.

2017-08-10  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/testsuite/
	PR testsuite/81738
	* gcc.dg/vect/vect-alias-check-6.c: Move second function to...
	* gcc.dg/vect/vect-alias-check-7.c: ...this new file.  Require
	vect_perm and vect_element_align for vectorization.

Added:
    trunk/gcc/testsuite/gcc.dg/vect/vect-alias-check-7.c
Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vect/vect-alias-check-6.c
Comment 3 Richard Sandiford 2017-08-10 20:00:05 UTC
Finally committed, sorry for the delay.  Please close if it does indeed fix the bug.
Comment 4 Rainer Orth 2017-08-12 14:26:29 UTC
Fixed indeed.

Thanks.
  Rainer
Comment 5 Aldy Hernandez 2017-09-13 16:51:44 UTC
Author: aldyh
Date: Wed Sep 13 16:51:12 2017
New Revision: 252395

URL: https://gcc.gnu.org/viewcvs?rev=252395&root=gcc&view=rev
Log:
PR81738: Split vect-alias-check-6.c

The second loop in the testcase only vectorises if we can reverse
a vector and if aligned loads aren't required.

2017-08-10  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/testsuite/
	PR testsuite/81738
	* gcc.dg/vect/vect-alias-check-6.c: Move second function to...
	* gcc.dg/vect/vect-alias-check-7.c: ...this new file.  Require
	vect_perm and vect_element_align for vectorization.

Added:
    branches/range-gen2/gcc/testsuite/gcc.dg/vect/vect-alias-check-7.c
Modified:
    branches/range-gen2/gcc/testsuite/ChangeLog
    branches/range-gen2/gcc/testsuite/gcc.dg/vect/vect-alias-check-6.c