public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] [PR target/97727] arm: [testsuite] fix some simd tests on armbe
@ 2020-11-10 16:23 Andrea Corallo
  0 siblings, 0 replies; only message in thread
From: Andrea Corallo @ 2020-11-10 16:23 UTC (permalink / raw)
  To: gcc-patches; +Cc: Kyrylo Tkachov, Richard Earnshaw, nd, christophe.lyon

[-- Attachment #1: Type: text/plain, Size: 161 bytes --]

Hi all,

I'd like to submit this patch to fix three testcases reported to be
failing on arm big endian on PR target/97727.

Okay for trunk?

Thanks

  Andrea
  

[-- Attachment #2: 0001-PR-target-97727-arm-testsuite-fix-some-simd-tests-on.patch --]
[-- Type: text/plain, Size: 6832 bytes --]

From c2d5faf49647381edbcdce6a709b5ed046ce13a4 Mon Sep 17 00:00:00 2001
From: Andrea Corallo <andrea.corallo@arm.com>
Date: Tue, 10 Nov 2020 15:15:27 +0100
Subject: [PATCH] [PR target/97727] arm: [testsuite] fix some simd tests on
 armbe

2020-11-10  Andrea Corallo  <andrea.corallo@arm.com>

	PR target/97727
	* gcc.target/arm/simd/bf16_vldn_1.c: Relax regexps not to fail on
	big endian.
	* gcc.target/arm/simd/vldn_lane_bf16_1.c: Likewise
	* gcc.target/arm/simd/vmmla_1.c: Add -mfloat-abi=hard flag.
---
 .../gcc.target/arm/simd/bf16_vldn_1.c         | 48 +++++++++----------
 .../gcc.target/arm/simd/vldn_lane_bf16_1.c    | 30 +++++++-----
 gcc/testsuite/gcc.target/arm/simd/vmmla_1.c   |  2 +-
 3 files changed, 43 insertions(+), 37 deletions(-)

diff --git a/gcc/testsuite/gcc.target/arm/simd/bf16_vldn_1.c b/gcc/testsuite/gcc.target/arm/simd/bf16_vldn_1.c
index 222e7af9453..663e76984c3 100644
--- a/gcc/testsuite/gcc.target/arm/simd/bf16_vldn_1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/bf16_vldn_1.c
@@ -10,8 +10,8 @@
 /*
 **test_vld2_bf16:
 **	...
-**	vld2.16	{d0-d1}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+-d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x2_t
 test_vld2_bf16 (bfloat16_t * ptr)
@@ -22,8 +22,8 @@ test_vld2_bf16 (bfloat16_t * ptr)
 /*
 **test_vld2q_bf16:
 **	...
-**	vld2.16	{d0-d3}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+-d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x2_t
 test_vld2q_bf16 (bfloat16_t * ptr)
@@ -34,8 +34,8 @@ test_vld2q_bf16 (bfloat16_t * ptr)
 /*
 **test_vld2_dup_bf16:
 **	...
-**	vld2.16	{d0\[\], d1\[\]}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+\[\], d[0-9]+\[\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x2_t
 test_vld2_dup_bf16 (bfloat16_t * ptr)
@@ -46,8 +46,8 @@ test_vld2_dup_bf16 (bfloat16_t * ptr)
 /*
 **test_vld2q_dup_bf16:
 **	...
-**	vld2.16	{d0, d1, d2, d3}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+, d[0-9]+, d[0-9]+, d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x2_t
 test_vld2q_dup_bf16 (bfloat16_t * ptr)
@@ -58,8 +58,8 @@ test_vld2q_dup_bf16 (bfloat16_t * ptr)
 /*
 **test_vld3_bf16:
 **	...
-**	vld3.16	{d0-d2}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+-d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x3_t
 test_vld3_bf16 (bfloat16_t * ptr)
@@ -70,8 +70,8 @@ test_vld3_bf16 (bfloat16_t * ptr)
 /*
 **test_vld3q_bf16:
 **	...
-**	vld3.16	{d1, d3, d5}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+, d[0-9]+, d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x3_t
 test_vld3q_bf16 (bfloat16_t * ptr)
@@ -82,8 +82,8 @@ test_vld3q_bf16 (bfloat16_t * ptr)
 /*
 **test_vld3_dup_bf16:
 **	...
-**	vld3.16	{d0\[\], d1\[\], d2\[\]}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+\[\], d[0-9]+\[\], d[0-9]+\[\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x3_t
 test_vld3_dup_bf16 (bfloat16_t * ptr)
@@ -94,8 +94,8 @@ test_vld3_dup_bf16 (bfloat16_t * ptr)
 /*
 **test_vld3q_dup_bf16:
 **	...
-**	vld3.16	{d0\[\], d1\[\], d2\[\]}, \[r0\]
-**	bx	lr
+**	vld[0-9]+.16	{d[0-9]+\[\], d[0-9]+\[\], d[0-9]+\[\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x3_t
 test_vld3q_dup_bf16 (bfloat16_t * ptr)
@@ -106,8 +106,8 @@ test_vld3q_dup_bf16 (bfloat16_t * ptr)
 /*
 **test_vld4_bf16:
 **	...
-**	vld4.16	{d0-d3}, \[r0\]
-**	bx	lr
+**	vld4.16	{d[0-9]+-d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x4_t
 test_vld4_bf16 (bfloat16_t * ptr)
@@ -118,8 +118,8 @@ test_vld4_bf16 (bfloat16_t * ptr)
 /*
 **test_vld4q_bf16:
 **	...
-**	vld4.16	{d1, d3, d5, d7}, \[r0\]
-**	bx	lr
+**	vld4.16	{d[0-9]+, d[0-9]+, d[0-9]+, d[0-9]+}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x4_t
 test_vld4q_bf16 (bfloat16_t * ptr)
@@ -130,8 +130,8 @@ test_vld4q_bf16 (bfloat16_t * ptr)
 /*
 **test_vld4_dup_bf16:
 **	...
-**	vld4.16	{d0\[\], d1\[\], d2\[\], d3\[\]}, \[r0\]
-**	bx	lr
+**	vld4.16	{d[0-9]+\[\], d[0-9]+\[\], d[0-9]+\[\], d[0-9]+\[\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x4_t
 test_vld4_dup_bf16 (bfloat16_t * ptr)
@@ -142,8 +142,8 @@ test_vld4_dup_bf16 (bfloat16_t * ptr)
 /*
 **test_vld4q_dup_bf16:
 **	...
-**	vld4.16	{d0\[\], d1\[\], d2\[\], d3\[\]}, \[r0\]
-**	bx	lr
+**	vld4.16	{d[0-9]+\[\], d[0-9]+\[\], d[0-9]+\[\], d[0-9]+\[\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x4_t
 test_vld4q_dup_bf16 (bfloat16_t * ptr)
diff --git a/gcc/testsuite/gcc.target/arm/simd/vldn_lane_bf16_1.c b/gcc/testsuite/gcc.target/arm/simd/vldn_lane_bf16_1.c
index 58153eddf62..b235b1f33b9 100644
--- a/gcc/testsuite/gcc.target/arm/simd/vldn_lane_bf16_1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/vldn_lane_bf16_1.c
@@ -8,8 +8,9 @@
 
 /*
 **test_vld2_lane_bf16:
-**	vld2.16	{d0\[2\], d1\[2\]}, \[r0\]
-**	bx	lr
+**	...
+**	vld2.16	{d[0-9]+\[2\], d[0-9]+\[2\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x2_t
 test_vld2_lane_bf16 (const bfloat16_t *a, bfloat16x4x2_t b)
@@ -19,8 +20,9 @@ test_vld2_lane_bf16 (const bfloat16_t *a, bfloat16x4x2_t b)
 
 /*
 **test_vld2q_lane_bf16:
-**	vld2.16	{d0\[2\], d2\[2\]}, \[r0\]
-**	bx	lr
+**	...
+**	vld2.16	{d[0-9]+\[2\], d[0-9]+\[2\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x8x2_t
 test_vld2q_lane_bf16 (const bfloat16_t *a, bfloat16x8x2_t b)
@@ -30,8 +32,9 @@ test_vld2q_lane_bf16 (const bfloat16_t *a, bfloat16x8x2_t b)
 
 /*
 **test_vld3_lane_bf16:
-**	vld3.16	{d0\[2\], d1\[2\], d2\[2\]}, \[r0\]
-**	bx	lr
+**	...
+**	vld3.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r[0-9]+\]
+**	...
 */
 bfloat16x4x3_t
 test_vld3_lane_bf16 (const bfloat16_t *a, bfloat16x4x3_t b)
@@ -41,8 +44,9 @@ test_vld3_lane_bf16 (const bfloat16_t *a, bfloat16x4x3_t b)
 
 /*
 **test_vld3q_lane_bf16:
-**	vld3.16	{d0\[2\], d2\[2\], d4\[2\]}, \[r0\]
-**	bx	lr
+**	...
+**	vld3.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r0\]
+**	...
 */
 bfloat16x8x3_t
 test_vld3q_lane_bf16 (const bfloat16_t *a, bfloat16x8x3_t b)
@@ -52,8 +56,9 @@ test_vld3q_lane_bf16 (const bfloat16_t *a, bfloat16x8x3_t b)
 
 /*
 **test_vld4_lane_bf16:
-**	vld4.16	{d0\[2\], d1\[2\], d2\[2\], d3\[2\]}, \[r0\]
-**	bx	lr
+**	...
+**	vld4.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r0\]
+**	...
 */
 bfloat16x4x4_t
 test_vld4_lane_bf16 (const bfloat16_t *a, bfloat16x4x4_t b)
@@ -63,8 +68,9 @@ test_vld4_lane_bf16 (const bfloat16_t *a, bfloat16x4x4_t b)
 
 /*
 **test_vld4q_lane_bf16:
-**	vld4.16	{d0\[2\], d2\[2\], d4\[2\], d6\[2\]}, \[r0\]
-**	bx	lr
+**	...
+**	vld4.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r0\]
+**	...
 */
 bfloat16x8x4_t
 test_vld4q_lane_bf16 (const bfloat16_t *a, bfloat16x8x4_t b)
diff --git a/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c b/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c
index fa512d905e2..aeb4a359e33 100644
--- a/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/vmmla_1.c
@@ -1,6 +1,6 @@
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
-/* { dg-options "-save-temps -O2 -march=armv8.2-a+i8mm" } */
+/* { dg-options "-save-temps -O2 -march=armv8.2-a+i8mm -mfloat-abi=hard" } */
 
 #include "arm_neon.h"
 
-- 
2.20.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-10 16:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-10 16:23 [PATCH] [PR target/97727] arm: [testsuite] fix some simd tests on armbe Andrea Corallo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).