This test was failing on aarch64 targets because we inlined the
test function into main, making it vectorisable.
Tested on aarch64-linux-gnu and x86_64-linux-gnu, pushed to trunk
as (hopefully) obvious.

Richard


gcc/testsuite/
        * gcc.dg/vect/pr65947-7.c: Add a noipa attribute.  Expect the
        loop to vectorized if vect_fold_extract_last.
---
 gcc/testsuite/gcc.dg/vect/pr65947-7.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/pr65947-7.c 
b/gcc/testsuite/gcc.dg/vect/pr65947-7.c
index 287f57ed1d3..16cdcd1c6eb 100644
--- a/gcc/testsuite/gcc.dg/vect/pr65947-7.c
+++ b/gcc/testsuite/gcc.dg/vect/pr65947-7.c
@@ -9,7 +9,7 @@ extern void abort (void) __attribute__ ((noreturn));
 /* Condition reduction with comparison is a different type to the data.  Will
    fail to vectorize.  */
 
-int
+int __attribute__ ((noipa))
 condition_reduction (short *a, int min_v, int *b)
 {
   int last = N + 65;
@@ -52,4 +52,5 @@ main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-not "LOOP VECTORIZED" "vect" } } */
+/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target 
vect_fold_extract_last } } } */
+/* { dg-final { scan-tree-dump-not "LOOP VECTORIZED" "vect" { target { ! 
vect_fold_extract_last } } } } */

Reply via email to