target-supports.exp (check_effective_target_arm_dsp): New.
* 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
This commit is contained in:
parent
1e4b2746e0
commit
09411ce3e6
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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" } } */
|
||||
|
|
|
@ -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" } } */
|
||||
|
|
|
@ -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" } } */
|
||||
|
|
|
@ -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" } } */
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue