[PATCH] testsuite, x86: Match multi-word contants explictly.

Iain Sandoe <[email protected]>
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>
Tested on x86_64-linux, darwin, OK for trunk?
thanks
Iain

--- 8< ---

These tests now pass the function body scans on Darwin, but fail the
scanasms for 16byte literals.  This because these scan separately for
.long 0 appearing 3 times, with no constraint on sequence.  A bare
.long 0 can also match other code (e.g. eh_frame literals) which leads
to a fail everywhere on Darwin.

Match these multi-word literals explicitly - which actually is better
even on cfi-asm targets since it checks the literal and its memory
order rather than the two parts independently.

gcc/testsuite/ChangeLog:

	* gcc.target/i386/builtin-copysign-2.c: Check 16 byte literal
	explicitly.
	* gcc.target/i386/builtin-copysign-3.c: Likewise.
	* gcc.target/i386/builtin-copysign-5.c: Likewise.
	* gcc.target/i386/builtin-fabs-1.c: Likewise.

Signed-off-by: Iain Sandoe <[email protected]>
---
 gcc/testsuite/gcc.target/i386/builtin-copysign-2.c | 3 +--
 gcc/testsuite/gcc.target/i386/builtin-copysign-3.c | 3 +--
 gcc/testsuite/gcc.target/i386/builtin-copysign-5.c | 3 +--
 gcc/testsuite/gcc.target/i386/builtin-fabs-1.c     | 3 +--
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c b/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c
index d90c5a49a3a..54d6863254b 100644
--- a/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c
+++ b/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c
@@ -18,5 +18,4 @@ foo (float x)
   return __builtin_copysignf (x, 0.0);
 }
 
-/* { dg-final { scan-assembler-times ".long	0" 3 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times ".long	2147483647" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times {.long\s2147483647[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0} 1 { target { ! ia32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c b/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c
index d3b4dd5a4af..c7de3935cae 100644
--- a/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c
+++ b/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c
@@ -18,5 +18,4 @@ foo (float x)
   return __builtin_copysignf (x, -3.0);
 }
 
-/* { dg-final { scan-assembler-times ".long	0" 3 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times ".long	-2147483648" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times {.long\s-2147483648[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0} 1 { target { ! ia32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c b/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c
index 3f4df5f779b..8b81b29828d 100644
--- a/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c
+++ b/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c
@@ -18,5 +18,4 @@ foo (__float128 x)
   return __builtin_copysignq (0.0, x);
 }
 
-/* { dg-final { scan-assembler-times ".long	0" 3 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times ".long	-2147483648" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times {.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s-2147483648} 1 { target { ! ia32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c b/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
index a9a25f6bd4b..c53628a4ed0 100644
--- a/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
+++ b/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
@@ -19,5 +19,4 @@ foo (float x)
   return -__builtin_fabsf (x);
 }
 
-/* { dg-final { scan-assembler-times ".long	0" 3 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times ".long	-2147483648" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times {.long\s-2147483648[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0} 1 { target { ! ia32 } } } } */
-- 
2.50.1 (Apple Git-155)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.