This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[testsuite] Fix gcc.target/i386/hle-* testcases with Sun as
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Uros Bizjak <ubizjak at gmail dot com>
- Date: Tue, 08 May 2012 19:19:21 +0200
- Subject: [testsuite] Fix gcc.target/i386/hle-* testcases with Sun as
Several /gcc.target/i386/hle-*.c tests are currently failing on Solaris
9/x86 with Sun as:
FAIL: gcc.target/i386/hle-add-acq-1.c scan-assembler lock[ \\n\\t]+(xacquire|.byte[ \\t]+0xf2)[ \\t\\n]+add
The .s file has
lock;
.byte 0xf2
but the scan-assembler regex currently doesn't allow for the ; (which is
not present with gas 2.22).
The patch below does just that. Tested with the appropriate runtest
invocation on i386-pc-solaris2.9 configured with as and gas
respectively.
Ok for mainline?
Rainer
2012-05-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
* gcc.target/i386/hle-add-rel-1.c: Likewise.
* gcc.target/i386/hle-and-acq-1.c: Likewise.
* gcc.target/i386/hle-and-rel-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
* gcc.target/i386/hle-or-acq-1.c: Likewise.
* gcc.target/i386/hle-or-rel-1.c: Likewise.
* gcc.target/i386/hle-sub-acq-1.c: Likewise.
* gcc.target/i386/hle-sub-rel-1.c: Likewise.
* gcc.target/i386/hle-xadd-acq-1.c: Likewise.
* gcc.target/i386/hle-xadd-rel-1.c: Likewise.
* gcc.target/i386/hle-xor-acq-1.c: Likewise.
* gcc.target/i386/hle-xor-rel-1.c: Likewise.
# HG changeset patch
# Parent 0b93bf7b6bda6f699d288070fb3e186fcde95cf8
Fix gcc.target/i386/hle-* testcases with Sun as
diff --git a/gcc/testsuite/gcc.target/i386/hle-add-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-add-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-add-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-add-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+add" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+add" } } */
void
hle_add (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-add-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-add-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-add-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-add-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+add" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+add" } } */
void
hle_add (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-and-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-and-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-and-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-and-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+and" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+and" } } */
void
hle_and (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-and-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-and-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-and-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-and-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+and" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+and" } } */
void
hle_and (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-cmpxchg-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-cmpxchg-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-cmpxchg-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-cmpxchg-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-march=x86-64 -mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+cmpxchg" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+cmpxchg" } } */
int
hle_cmpxchg (int *p, int oldv, int newv)
diff --git a/gcc/testsuite/gcc.target/i386/hle-cmpxchg-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-cmpxchg-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-cmpxchg-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-cmpxchg-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-march=x86-64 -mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+cmpxchg" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+cmpxchg" } } */
int
hle_cmpxchg (int *p, int oldv, int newv)
diff --git a/gcc/testsuite/gcc.target/i386/hle-or-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-or-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-or-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-or-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+or" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+or" } } */
void
hle_or (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-or-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-or-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-or-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-or-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+or" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+or" } } */
void
hle_xor (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-sub-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-sub-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-sub-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-sub-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+sub" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+sub" } } */
void
hle_sub (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+sub" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+sub" } } */
void
hle_sub (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-xadd-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-xadd-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-xadd-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-xadd-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-march=x86-64 -mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+xadd" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+xadd" } } */
int
hle_xadd (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-march=x86-64 -mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+xadd" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+xadd" } } */
int
hle_xadd (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-xor-acq-1.c b/gcc/testsuite/gcc.target/i386/hle-xor-acq-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-xor-acq-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-xor-acq-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+xor" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xacquire\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+xor" } } */
void
hle_xor (int *p, int v)
diff --git a/gcc/testsuite/gcc.target/i386/hle-xor-rel-1.c b/gcc/testsuite/gcc.target/i386/hle-xor-rel-1.c
--- a/gcc/testsuite/gcc.target/i386/hle-xor-rel-1.c
+++ b/gcc/testsuite/gcc.target/i386/hle-xor-rel-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mhle" } */
-/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+xor" } } */
+/* { dg-final { scan-assembler "lock;?\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+xor" } } */
void
hle_xor (int *p, int v)
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University