Commit 91f161b0 by Richard Sandiford Committed by Richard Sandiford

Add more markup to vect-alias-check-{1,18}.c (PR 92543)

In vect-alias-check-1.c we unroll the inner loop and then vectorise
the stores at a[c + 1][b].  Since the access has no guaranteed
alignemnt, we need a realignment mechanism or support for unaligned
accesses in order to vectorise.

In vect-alias-check-18.c we use a reverse access and so need
permute support in order to vectorise.

I'm not really sure when this part of the testsuite prefers
{ xfail { ! foo } } and when it prefers { target foo }.  xfail
seems like the most common choice for the alignment restriction,
whereas vect_int and vect_perm are mostly dg-require-effective-target
style features, so I went with that combination.

2019-11-21  Richard Sandiford  <richard.sandiford@arm.com>

gcc/testsuite/
	PR testsuite/92543
	* gcc.dg/vect/vect-alias-check-1.c: XFAIL the alias check message
	if there is no realignment support and no support for unaligned
	accesses.
	* gcc.dg/vect/vect-alias-check-18.c: Restrict the test for the
	alias message to targets that have permute support.

From-SVN: r278591
parent 934f135b
2019-11-21 Richard Sandiford <richard.sandiford@arm.com> 2019-11-21 Richard Sandiford <richard.sandiford@arm.com>
PR testsuite/92543
* gcc.dg/vect/vect-alias-check-1.c: XFAIL the alias check message
if there is no realignment support and no support for unaligned
accesses.
* gcc.dg/vect/vect-alias-check-18.c: Restrict the test for the
alias message to targets that have permute support.
2019-11-21 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/92595 PR tree-optimization/92595
* g++.dg/vect/pr92595.cc: New test. * g++.dg/vect/pr92595.cc: New test.
......
...@@ -15,5 +15,5 @@ fn1 () ...@@ -15,5 +15,5 @@ fn1 ()
} }
/* { dg-final { scan-tree-dump "improved number of alias checks from \[0-9\]* to 1" "vect" } } */ /* { dg-final { scan-tree-dump "improved number of alias checks from \[0-9\]* to 1" "vect" } } */
/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */ /* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */
/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */ /* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
...@@ -60,5 +60,5 @@ main (void) ...@@ -60,5 +60,5 @@ main (void)
} }
/* { dg-final { scan-tree-dump {flags: *WAR\n} "vect" { target vect_int } } } */ /* { dg-final { scan-tree-dump {flags: *WAR\n} "vect" { target vect_int } } } */
/* { dg-final { scan-tree-dump "using an index-based WAR/WAW test" "vect" } } */ /* { dg-final { scan-tree-dump "using an index-based WAR/WAW test" "vect" { target { vect_int && vect_perm } } } } */
/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */ /* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment