Yeah didn't test that, thanks.

This OK?

gcc/testsuite/ChangeLog:

2019-12-12  Andre Vieira  <andre.simoesdiasvie...@arm.com>

        * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.
        * lib/target-supports.exp (check_effective_target_arm_big_endian):
        New target selector.

On 12/12/2019 16:42, Christophe Lyon wrote:
On Wed, 11 Dec 2019 at 12:27, Andre Vieira (lists)
<andre.simoesdiasvie...@arm.com> wrote:

Hi,

We can now vectorize an epilogue for this loop for arm too, so removing
xfail.

Is this OK for trunk? Wasn't entirely sure whether I could commit this
under obvious.


This fails on armeb :-(

gcc/testsuite/ChangeLog:
2019-12-11  Andre Vieira  <andre.simoesdiasvie...@arm.com>

          * gcc.dg/vect/vect-epilogues.c: Remove xfail for arm.
diff --git a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
index de95310a65eed78e1f75c4cd7581f9f7a86afd16..90ebe69a8200225b7b000c378cdd1e99add09eea 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
@@ -16,4 +16,4 @@ void pixel_avg( unsigned char *dst, int i_dst_stride,
      }
  }
 
-/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" } } */
+/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" { xfail { arm_big_endian } } } }  */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 5b4cc02f9219ed8cfa329f97732abffca677883c..6ded35500b807eb831617386bae4267bfcd11f3c 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3467,6 +3467,19 @@ proc check_effective_target_arm_nothumb { } {
     }]
 }
 
+# Return 1 if this is a big-endian ARM target
+proc check_effective_target_arm_big_endian { } {
+    if { ![istarget arm*-*-*] } {
+	return 0
+    }
+
+    return ![check_no_compiler_messages arm_little_endian assembly {
+	#if !defined(__arm__) || !defined(__ARMEL__)
+	#error !__arm__ || !__ARMEL__
+	#endif
+    }]
+}
+
 # Return 1 if this is a little-endian ARM target
 proc check_effective_target_arm_little_endian { } {
     if { ![istarget arm*-*-*] } {

Reply via email to