Tested on x86_64-linux, darwin (m32/m64) pushed trunk as obvious,
thanks,
Iain

--- 8< ---

In these cases, the scan check is too general and can match unintended
content emitted as assembler directives or EH/Debug frames, for example:

  "por"    matches 'live_support' in __eh_frame section content
  "sub"    matches '.subsections_via_symbols'
  "set"    matches '.set L$set$0...'
  "\$0,"   matches '.set L$set$0...'

The fix here is make the boundaries of the instruction explicit by
appending or prepending whitespace or characters  approprately.

gcc/testsuite/ChangeLog:

        * g++.target/i386/pr107563-a.C: Add whitespace boundary to
        scan asm match string.
        * g++.target/i386/pr107563-b.C: Likewise.
        * gcc.target/i386/pr11877-2.c: Likewise.
        * gcc.target/i386/pr11877.c: Likewise.
        * gcc.target/i386/pr92651.c: Likewise.
        * gcc.target/i386/pr98060.c: Likewise.
        * gcc.target/i386/sse2-v1ti-logic-2.c: Likewise.

Signed-off-by: Iain Sandoe <[email protected]>
---
 gcc/testsuite/g++.target/i386/pr107563-a.C        | 2 +-
 gcc/testsuite/g++.target/i386/pr107563-b.C        | 2 +-
 gcc/testsuite/gcc.target/i386/pr11877-2.c         | 2 +-
 gcc/testsuite/gcc.target/i386/pr11877.c           | 2 +-
 gcc/testsuite/gcc.target/i386/pr92651.c           | 2 +-
 gcc/testsuite/gcc.target/i386/pr98060.c           | 2 +-
 gcc/testsuite/gcc.target/i386/sse2-v1ti-logic-2.c | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/gcc/testsuite/g++.target/i386/pr107563-a.C 
b/gcc/testsuite/g++.target/i386/pr107563-a.C
index c1c332bb948..ed32932e7ec 100644
--- a/gcc/testsuite/g++.target/i386/pr107563-a.C
+++ b/gcc/testsuite/g++.target/i386/pr107563-a.C
@@ -3,7 +3,7 @@
 /* { dg-options "-std=c++2b -O3 -msse2 -mno-sse3" } */
 /* { dg-final { scan-assembler-times "psllw" 1 } } */
 /* { dg-final { scan-assembler-times "psrlw" 1 } } */
-/* { dg-final { scan-assembler-times "por" 1 } } */
+/* { dg-final { scan-assembler-times "por\[ \t\]" 1 } } */
 
 using temp_vec_type2 [[__gnu__::__vector_size__(8)]] = char;
 
diff --git a/gcc/testsuite/g++.target/i386/pr107563-b.C 
b/gcc/testsuite/g++.target/i386/pr107563-b.C
index d5cc0300f46..17dad6ff1ec 100644
--- a/gcc/testsuite/g++.target/i386/pr107563-b.C
+++ b/gcc/testsuite/g++.target/i386/pr107563-b.C
@@ -2,7 +2,7 @@
 /* { dg-options "-std=c++2b -O3 -msse2 -mno-sse3" } */
 /* { dg-final { scan-assembler-times "psllw" 1 } } */
 /* { dg-final { scan-assembler-times "psrlw" 1 } } */
-/* { dg-final { scan-assembler-times "por" 1 } } */
+/* { dg-final { scan-assembler-times "por\[ \t\]" 1 } } */
 
 using temp_vec_type [[__gnu__::__vector_size__(16)]] = char;
 
diff --git a/gcc/testsuite/gcc.target/i386/pr11877-2.c 
b/gcc/testsuite/gcc.target/i386/pr11877-2.c
index 4782dd2f799..42717fee85f 100644
--- a/gcc/testsuite/gcc.target/i386/pr11877-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr11877-2.c
@@ -23,4 +23,4 @@ foo (int *p)
 }
 
 /* { dg-final { scan-assembler-times "xorl\[ \t\]" 1 } } */
-/* { dg-final { scan-assembler-not "\\\$0," } } */
+/* { dg-final { scan-assembler-not "\[ \t\]\\\$0," } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr11877.c 
b/gcc/testsuite/gcc.target/i386/pr11877.c
index 5a488cccf77..a097425cb7b 100644
--- a/gcc/testsuite/gcc.target/i386/pr11877.c
+++ b/gcc/testsuite/gcc.target/i386/pr11877.c
@@ -13,4 +13,4 @@ void bar (int *p)
 }
 
 /* { dg-final { scan-assembler-times "xorl\[ \t\]" 2 } } */
-/* { dg-final { scan-assembler-not "\\\$0," } } */
+/* { dg-final { scan-assembler-not "\[ \t\]\\\$0," } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr92651.c 
b/gcc/testsuite/gcc.target/i386/pr92651.c
index 3d0c3c7bf4e..30b7684c69f 100644
--- a/gcc/testsuite/gcc.target/i386/pr92651.c
+++ b/gcc/testsuite/gcc.target/i386/pr92651.c
@@ -12,5 +12,5 @@ int foo(unsigned char a, unsigned char b)
 /* { dg-final { scan-assembler-not "cmov*" } } */
 /* { dg-final { scan-assembler "(cltd|cdq|shr)" } } */
 /* { dg-final { scan-assembler-times "xor" 1 } } */
-/* { dg-final { scan-assembler-times "sub" 2 } } */
+/* { dg-final { scan-assembler-times "\tsub" 2 } } */
 
diff --git a/gcc/testsuite/gcc.target/i386/pr98060.c 
b/gcc/testsuite/gcc.target/i386/pr98060.c
index f82620ceb64..205f0c4aa81 100644
--- a/gcc/testsuite/gcc.target/i386/pr98060.c
+++ b/gcc/testsuite/gcc.target/i386/pr98060.c
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 
-/* { dg-final { scan-assembler-not "set" } } */
+/* { dg-final { scan-assembler-not "set\[abceglnops\]" } } */
 /* { dg-final { scan-assembler-times "adc"  4 } } */
 /* { dg-final { scan-assembler-times "sbb"  4 } } */
 
diff --git a/gcc/testsuite/gcc.target/i386/sse2-v1ti-logic-2.c 
b/gcc/testsuite/gcc.target/i386/sse2-v1ti-logic-2.c
index 3ec64555334..83e9763b4b4 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-v1ti-logic-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-v1ti-logic-2.c
@@ -49,5 +49,5 @@ void not2()
 }
 
 /* { dg-final { scan-assembler-times "pand" 2 } } */
-/* { dg-final { scan-assembler-times "por" 2 } } */
+/* { dg-final { scan-assembler-times "por\[ \t\]" 2 } } */
 /* { dg-final { scan-assembler-times "pxor" 4 } } */
-- 
2.50.1 (Apple Git-155)

Reply via email to