target-supports.exp (check_effective_target_arm_dsp): New.
authorJanis Johnson <janisjo@codesourcery.com>
Thu, 7 Jul 2011 17:44:14 +0000 (17:44 +0000)
committerJanis Johnson <janis@gcc.gnu.org>
Thu, 7 Jul 2011 17:44:14 +0000 (17:44 +0000)
* lib/target-supports.exp (check_effective_target_arm_dsp): New.
* gcc.target/arm/mla-2.c: Use it instead of specific -march.
* gcc.target/arm/wmul-1.c: Likewise.
* gcc.target/arm/wmul-2.c: Likewise.
* gcc.target/arm/wmul-3.c: Likewise.
* gcc.target/arm/wmul-4.c: Likewise.
* gcc.target/arm/smlaltb-1.c: Require arm_dsp, don't specify -march,
add tab after scan target.
* gcc.target/arm/smlaltt-1.c: Likewise.
* gcc.target/arm/smlatb-1.c: Likewise.
* gcc.target/arm/smlatt-1.c: Likewise.

From-SVN: r175993

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/mla-2.c
gcc/testsuite/gcc.target/arm/smlaltb-1.c
gcc/testsuite/gcc.target/arm/smlaltt-1.c
gcc/testsuite/gcc.target/arm/smlatb-1.c
gcc/testsuite/gcc.target/arm/smlatt-1.c
gcc/testsuite/gcc.target/arm/wmul-1.c
gcc/testsuite/gcc.target/arm/wmul-2.c
gcc/testsuite/gcc.target/arm/wmul-3.c
gcc/testsuite/gcc.target/arm/wmul-4.c
gcc/testsuite/lib/target-supports.exp

index c54bd86e9586e0c4abfa5e717cbbd20156d4b312..7586f83a89a5ab7fb9b6fc6fd6cc6fffe5a3fda0 100644 (file)
@@ -1,3 +1,17 @@
+2011-07-07  Janis Johnson  <janisjo@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_arm_dsp): New.
+       * gcc.target/arm/mla-2.c: Use it instead of specific -march.
+       * gcc.target/arm/wmul-1.c: Likewise.
+       * gcc.target/arm/wmul-2.c: Likewise.
+       * gcc.target/arm/wmul-3.c: Likewise.
+       * gcc.target/arm/wmul-4.c: Likewise.
+       * gcc.target/arm/smlaltb-1.c: Require arm_dsp, don't specify -march,
+       add tab after scan target.
+       * gcc.target/arm/smlaltt-1.c: Likewise.
+       * gcc.target/arm/smlatb-1.c: Likewise.
+       * gcc.target/arm/smlatt-1.c: Likewise.
+
 2011-07-07  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/49522
index bdc508d878cf59526a2fa5142c4a6b416e6c10bf..1e3ca200b2ef8ce4ce1741be77852c43aa208696 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv7-a" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 long long foolong (long long x, short *a, short *b)
 {
index b83fc74f6e5bd706701e17e77571d932e72ee393..1472c9b3fa1605149b8d13270d70879be6a7443f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv7-a" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 long long int
 foo (long long x, int in)
@@ -10,4 +11,4 @@ foo (long long x, int in)
   return x + b * a;
 }
 
-/* { dg-final { scan-assembler "smlaltb" } } */
+/* { dg-final { scan-assembler "smlaltb\\t" } } */
index 2604d9bf0be38a5e595f9b7b4e4697316d0b022f..6bcbce0b95861bf8586b19ca5570b833e504e643 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv7-a" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 long long int
 foo (long long x, int in1, int in2)
@@ -10,4 +11,4 @@ foo (long long x, int in1, int in2)
   return x + b * a;
 }
 
-/* { dg-final { scan-assembler "smlaltt" } } */
+/* { dg-final { scan-assembler "smlaltt\\t" } } */
index 820dcddfadcc6a2f1dcdcd8b93c6c3f2602320a3..d73aa18ea7c009da72a6deb4fd07b137fed6ce38 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv7-a" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 int
 foo (int x, int in)
@@ -10,4 +11,4 @@ foo (int x, int in)
   return x + b * a;
 }
 
-/* { dg-final { scan-assembler "smlatb" } } */
+/* { dg-final { scan-assembler "smlatb\\t" } } */
index 2a606340e2890a95604065021578e1bb374b30b6..d7fb03400095bbee011d5ed9241e1c3856933fd7 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv7-a" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 int
 foo (int x, int in1, int in2)
@@ -10,4 +11,4 @@ foo (int x, int in1, int in2)
   return x + b * a;
 }
 
-/* { dg-final { scan-assembler "smlatt" } } */
+/* { dg-final { scan-assembler "smlatt\\t" } } */
index ccb3041551a809982a9da58b42f15068860286b4..426c9393f206b0f1249f43c0697b3aa2bba7f38a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv6t2" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 int mac(const short *a, const short *b, int sqr, int *sum)
 {
index 0c092f10115685c2ff29682dd212a2af8c2bb840..898b5f065cbfb920b230aa93f691665db125e3ef 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv6t2" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 void vec_mpy(int y[], const short x[], short scaler)
 {
index 325dcebbbda5da6326427271f2c4749cc6f748cf..83f73fba727a4e02546cd43c23edebaaa2f1bd33 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv6t2" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 int mac(const short *a, const short *b, int sqr, int *sum)
 {
index e8642f8aed132939894e53991f4d67961d08aee9..a297bda2182556516ffae5fe15e417773a0dbaef 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv6t2" } */
+/* { dg-require-effective-target arm_dsp } */
+/* { dg-options "-O2" } */
 
 int mac(const int *a, const int *b, long long sqr, long long *sum)
 {
index 7db156f3a120c33e3eb607bd1291876913b717a0..476a2e660b3afafd8354878776ff5063c7ef8199 100644 (file)
@@ -1916,6 +1916,18 @@ proc check_effective_target_arm_hard_vfp_ok { } {
     }
 }
 
+# Return 1 if this is an ARM target that supports DSP multiply with
+# current multilib flags.
+
+proc check_effective_target_arm_dsp { } {
+    return [check_no_compiler_messages arm_dsp assembly {
+       #ifndef __ARM_FEATURE_DSP
+       #error not DSP
+       #endif
+       int i;
+    }]
+}
+
 # Add the options needed for NEON.  We need either -mfloat-abi=softfp
 # or -mfloat-abi=hard, but if one is already specified by the
 # multilib, use it.  Similarly, if a -mfpu option already enables