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 <r...@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