[ARC] Fix ARC target specific tests.
authorClaudiu Zissulescu <claziss@synopsys.com>
Fri, 22 Nov 2019 07:59:54 +0000 (08:59 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Fri, 22 Nov 2019 07:59:54 +0000 (08:59 +0100)
Fix ARC specific tests by improving the matching pattern and adding
the missing functionality in arc.exp

gcc/tests
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/add_n-combine.c: Match add1/2/3 instruction in
output assembly.
* gcc.target/arc/arc.exp (check_effective_target_codedensity):
Add.
* gcc.target/arc/cmem-7.c: Fix matching patterns.
* gcc.target/arc/cmem-bit-1.c: Likewise.
* gcc.target/arc/cmem-bit-2.c: Likewise.
* gcc.target/arc/cmem-bit-3.c: Likewise.
* gcc.target/arc/cmem-bit-4.c: Likewise.
* gcc.target/arc/interrupt-2.c: Match rtie insn for A7.
* gcc.target/arc/store-merge-1.c: This test is only meaningful for
architectures with double load/store operations.

From-SVN: r278609

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/add_n-combine.c
gcc/testsuite/gcc.target/arc/arc.exp
gcc/testsuite/gcc.target/arc/cmem-7.c
gcc/testsuite/gcc.target/arc/cmem-bit-1.c
gcc/testsuite/gcc.target/arc/cmem-bit-2.c
gcc/testsuite/gcc.target/arc/cmem-bit-3.c
gcc/testsuite/gcc.target/arc/cmem-bit-4.c
gcc/testsuite/gcc.target/arc/interrupt-2.c
gcc/testsuite/gcc.target/arc/store-merge-1.c

index 38ff666a49326b5049a59212d601c6e1746982dc..181e478bf90ce2a6283eb9f638b69b35982d41aa 100644 (file)
@@ -1,3 +1,18 @@
+2019-11-22  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/add_n-combine.c: Match add1/2/3 instruction in
+       output assembly.
+       * gcc.target/arc/arc.exp (check_effective_target_codedensity):
+       Add.
+       * gcc.target/arc/cmem-7.c: Fix matching patterns.
+       * gcc.target/arc/cmem-bit-1.c: Likewise.
+       * gcc.target/arc/cmem-bit-2.c: Likewise.
+       * gcc.target/arc/cmem-bit-3.c: Likewise.
+       * gcc.target/arc/cmem-bit-4.c: Likewise.
+       * gcc.target/arc/interrupt-2.c: Match rtie insn for A7.
+       * gcc.target/arc/store-merge-1.c: This test is only meaningful for
+       architectures with double load/store operations.
+
 2019-11-21  Martin Sebor  <msebor@redhat.com>
 
        * gcc.dg/strlenopt-66.c: Avoid buffer overflow.  Add more test cases.
index cd32ed386f5956f099132b5bff76d215fc32a83a..bc400df669efbd436886284e3c52a010c48572aa 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile }  */
-/* { dg-options "-O2 -fdump-rtl-combine" }  */
+/* { dg-options "-O2" }  */
 
 struct b1 {
       char c;
@@ -45,4 +45,6 @@ void f() {
   a(at3.bn[bu]);
 }
 
-/* { dg-final { scan-rtl-dump-times "\\*add_n" 2 "combine" } } */
+/* { dg-final { scan-assembler "add1" } } */
+/* { dg-final { scan-assembler "add2" } } */
+/* { dg-final { scan-assembler "add3" } } */
index 55e12137a2aba94edcc168d43b5f3cb2b4e6f39b..ac1d5b6704836e77f8e24dac80671946b05ac10b 100644 (file)
@@ -94,6 +94,16 @@ proc check_effective_target_barrelshifter { } {
     }]
 }
 
+#return 1 if we have code density option on.
+proc check_effective_target_codedensity { } {
+    return [check_no_compiler_messages codedensity assembly {
+        #if !defined(__ARC_CODE_DENSITY__)
+        #error No code density option for this config
+        #endif
+    }]
+}
+
+
 #return 1 if we use ARCv2 Accumulator registers
 proc check_effective_target_accregs { } {
     return [check_no_compiler_messages accregs assembly {
index 026732711728691a53e7615e673658c24f6ffb29..ad7f25d9f8c6e8e37d097c4defcf317662535d82 100644 (file)
@@ -21,7 +21,7 @@ some_function ()
   return 0;
 }
 
-/* { dg-final { scan-assembler "xldb \[^\n\]*@ss" } } */
-/* { dg-final { scan-assembler "xstb \[^\n\]*@ss" } } */
-/* { dg-final { scan-assembler-not "xldb \[^\n\]*@tt" } } */
-/* { dg-final { scan-assembler-not "xstb \[^\n\]*@tt" } } */
+/* { dg-final { scan-assembler "xldb\\s+\[^\n\]*@ss" } } */
+/* { dg-final { scan-assembler "xstb\\s+\[^\n\]*@ss" } } */
+/* { dg-final { scan-assembler-not "xldb\\s+\[^\n\]*@tt" } } */
+/* { dg-final { scan-assembler-not "xstb\\s+\[^\n\]*@tt" } } */
index d49ab5cd44f8e47ca2c4ea88f8e176151a381413..d3471a2e621dcf092785edb3ee9803527328bdb0 100644 (file)
@@ -16,5 +16,5 @@ void foo() {
     bar();
 }
 
-/* { dg-final { scan-assembler "xldb r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
-/* { dg-final { scan-assembler "btst_s r\[0-9\]+,7" { target arceb-*-* } } } */
+/* { dg-final { scan-assembler "xldb\\s+r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
+/* { dg-final { scan-assembler "btst_s\\s+r\[0-9\]+,7" { target arceb-*-* } } } */
index 45b49c6dfc3ee74379a8ad6f0c45a223369b2cf2..4b022944f60a30851fc998b5879a4d5a3c69ea41 100644 (file)
@@ -16,5 +16,5 @@ void foo() {
     bar();
 }
 
-/* { dg-final { scan-assembler "xldb r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
-/* { dg-final { scan-assembler "btst_s r\[0-9\]+,7" { target arceb-*-* } } } */
+/* { dg-final { scan-assembler "xldb\\s+r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
+/* { dg-final { scan-assembler "btst_s\\s+r\[0-9\]+,7" { target arceb-*-* } } } */
index 371ff2bca8b7f1a1303276aec68beb64d785e62f..40fbb934bf99ee37462ccf36a5fa7be74e59c425 100644 (file)
@@ -16,5 +16,5 @@ void foo() {
     bar();
 }
 
-/* { dg-final { scan-assembler "xldb r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
-/* { dg-final { scan-assembler "btst_s r\[0-9\]+,7" { target arceb-*-* } } } */
+/* { dg-final { scan-assembler "xldb\\s+r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
+/* { dg-final { scan-assembler "btst_s\\s+r\[0-9\]+,7" { target arceb-*-* } } } */
index a95c6ae14d31d58e350f8a9d0994cc4de9aa4b14..288a6a0358338348bd389f18ff16a1ae8fedb1ef 100644 (file)
@@ -16,5 +16,5 @@ void foo() {
     bar();
 }
 
-/* { dg-final { scan-assembler "xldb r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
-/* { dg-final { scan-assembler "btst_s r\[0-9\]+,7" { target arceb-*-* } } } */
+/* { dg-final { scan-assembler "xldb\\s+r\[0-9\]+,\\\[@a_strange_bool\\\]" } } */
+/* { dg-final { scan-assembler "btst_s\\s+r\[0-9\]+,7" { target arceb-*-* } } } */
index 285ebd57a220ca34e5c0aba201276f1cb40142aa..09c6f4d216e9f8b2139fd49f62c182d2041eca05 100644 (file)
@@ -3,4 +3,5 @@ void __attribute__ ((interrupt("ilink2")))
 handler1 (void)
 {
 }
-/* { dg-final { scan-assembler-times "j.*\[ilink2\]" 1 } } */
+/* { dg-final { scan-assembler-times "j.*\[ilink2\]" 1 { target { arc6xx } } } } */
+/* { dg-final { scan-assembler-times "rtie" 1 { target { arc700 } } } } */
index e9d4e57c27dbacd8db936806f3b4a95abbf1ab54..a133e8719b423ba7975f5f0d8e0fa94003654a3a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O3" } */
+/* { dg-require-effective-target archs }*/
+/* { dg-options "-O3 -mll64" } */
 
 /* This tests checks if we use st w6,[reg] format.  */