* lib/target-supports.exp

(check_effective_target_arm_iwmmxt_ok): New procedure.
	* gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok.  Remove the
	exclusions for -mfloat-abi=softfp and -mfloat-abi=hard.

From-SVN: r151003
This commit is contained in:
Maciej W. Rozycki 2009-08-21 22:13:56 +00:00 committed by Maciej W. Rozycki
parent 08ffd640db
commit 5399093be2
3 changed files with 21 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2009-08-21 Maciej W. Rozycki <macro@codesourcery.com>
* lib/target-supports.exp
(check_effective_target_arm_iwmmxt_ok): New procedure.
* gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok. Remove the
exclusions for -mfloat-abi=softfp and -mfloat-abi=hard.
2009-08-21 Uros Bizjak <ubizjak@gmail.com>
* gfortran.dg/boz_9.f90: Do not generate denormal floating

View File

@ -3,11 +3,10 @@
/* { dg-do compile } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mcpu=*" } { "-mcpu=iwmmxt" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mabi=*" } { "-mabi=iwmmxt" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mfloat-abi=softfp" } { "" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mfloat-abi=hard" } { "" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-march=*" } { "-march=iwmmxt" } } */
/* { dg-options "-O -mno-apcs-frame -mcpu=iwmmxt -mabi=iwmmxt" } */
/* { dg-require-effective-target arm32 } */
/* { dg-require-effective-target arm_iwmmxt_ok } */
/* { dg-final { scan-assembler "ldmfd\[ ]sp!.*ip,\[ ]*pc" } } */
/* This function uses all the call-saved registers, namely r4, r5, r6,

View File

@ -1620,6 +1620,19 @@ proc check_effective_target_arm_eabi { } {
}]
}
# Return 1 if this is an ARM target supporting -mcpu=iwmmxt.
# Some multilibs may be incompatible with this option.
proc check_effective_target_arm_iwmmxt_ok { } {
if { [check_effective_target_arm32] } {
return [check_no_compiler_messages arm_iwmmxt_ok object {
int dummy;
} "-mcpu=iwmmxt"]
} else {
return 0
}
}
# Return 1 if this is a PowerPC target with floating-point registers.
proc check_effective_target_powerpc_fprs { } {