diff options
Diffstat (limited to 'gcc-4.4.3/gcc/testsuite/lib/target-supports.exp')
-rw-r--r-- | gcc-4.4.3/gcc/testsuite/lib/target-supports.exp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc-4.4.3/gcc/testsuite/lib/target-supports.exp b/gcc-4.4.3/gcc/testsuite/lib/target-supports.exp index 1f8464d69..792d0918a 100644 --- a/gcc-4.4.3/gcc/testsuite/lib/target-supports.exp +++ b/gcc-4.4.3/gcc/testsuite/lib/target-supports.exp @@ -1430,6 +1430,20 @@ proc check_effective_target_arm_vfp_ok { } { } } +# Return 1 if this is an ARM target supporting -mfpu=vfp +# -mfloat-abi=hard. Some multilibs may be incompatible with these +# options. + +proc check_effective_target_arm_hard_vfp_ok { } { + if { [check_effective_target_arm32] } { + return [check_no_compiler_messages arm_hard_vfp_ok executable { + int main() { return 0;} + } "-mfpu=vfp -mfloat-abi=hard"] + } else { + return 0 + } +} + # Return 1 if this is an ARM target supporting -mfpu=neon # -mfloat-abi=softfp. Some multilibs may be incompatible with these # options. @@ -1437,6 +1451,7 @@ proc check_effective_target_arm_vfp_ok { } { proc check_effective_target_arm_neon_ok { } { if { [check_effective_target_arm32] } { return [check_no_compiler_messages arm_neon_ok object { + #include "arm_neon.h" int dummy; } "-mfpu=neon -mfloat-abi=softfp"] } else { @@ -1455,6 +1470,17 @@ proc check_effective_target_arm_thumb1_ok { } { } "-mthumb"] } +# Return 1 is this is an ARM target where -mthumb causes Thumb-2 to be +# used. + +proc check_effective_target_arm_thumb2_ok { } { + return [check_no_compiler_messages arm_thumb2_ok assembly { + #if !defined(__thumb2__) + #error FOO + #endif + } "-mthumb"] +} + # Return 1 if the target supports executing NEON instructions, 0 # otherwise. Cache the result. |