From 4e53aa978d9b1363ae67e68a0d59f6ced94b3c6d Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Fri, 17 Jun 2016 14:59:04 +0000 Subject: [PATCH] [ARM][testsuite] Make arm_neon_fp16 depend on arm_neon_ok 2016-06-17 Christophe Lyon * lib/target-supports.exp (check_effective_target_arm_neon_fp16_ok_nocache): Call arm_neon_ok and merge flags. Fix temporary test name. (check_effective_target_arm_neonv2_ok_nocache): Call arm_neon_ok and merge flags. From-SVN: r237557 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/lib/target-supports.exp | 18 +++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b3fa6a27902..17bff0ec7c1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2016-06-17 Christophe Lyon + + * lib/target-supports.exp + (check_effective_target_arm_neon_fp16_ok_nocache): Call + arm_neon_ok and merge flags. Fix temporary test name. + (check_effective_target_arm_neonv2_ok_nocache): Call arm_neon_ok + and merge flags. + 2016-06-17 Martin Liska * gcc.dg/predict-9.c: Fix dump scanning. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 0b991a5c419..9876bb5f4ce 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2990,23 +2990,25 @@ proc check_effective_target_arm_crc_ok { } { proc check_effective_target_arm_neon_fp16_ok_nocache { } { global et_arm_neon_fp16_flags + global et_arm_neon_flags set et_arm_neon_fp16_flags "" - if { [check_effective_target_arm32] } { + if { [check_effective_target_arm32] + && [check_effective_target_arm_neon_ok] } { foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon-fp16" "-mfpu=neon-fp16 -mfloat-abi=softfp" "-mfp16-format=ieee" "-mfloat-abi=softfp -mfp16-format=ieee" "-mfpu=neon-fp16 -mfp16-format=ieee" "-mfpu=neon-fp16 -mfloat-abi=softfp -mfp16-format=ieee"} { - if { [check_no_compiler_messages_nocache arm_neon_fp_16_ok object { + if { [check_no_compiler_messages_nocache arm_neon_fp16_ok object { #include "arm_neon.h" float16x4_t foo (float32x4_t arg) { return vcvt_f16_f32 (arg); } - } "$flags"] } { - set et_arm_neon_fp16_flags $flags + } "$et_arm_neon_flags $flags"] } { + set et_arm_neon_fp16_flags [concat $et_arm_neon_flags $flags] return 1 } } @@ -3085,8 +3087,10 @@ proc check_effective_target_arm_v8_neon_ok { } { proc check_effective_target_arm_neonv2_ok_nocache { } { global et_arm_neonv2_flags + global et_arm_neon_flags set et_arm_neonv2_flags "" - if { [check_effective_target_arm32] } { + if { [check_effective_target_arm32] + && [check_effective_target_arm_neon_ok] } { foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon-vfpv4" "-mfpu=neon-vfpv4 -mfloat-abi=softfp"} { if { [check_no_compiler_messages_nocache arm_neonv2_ok object { #include "arm_neon.h" @@ -3095,8 +3099,8 @@ proc check_effective_target_arm_neonv2_ok_nocache { } { { return vfma_f32 (a, b, c); } - } "$flags"] } { - set et_arm_neonv2_flags $flags + } "$et_arm_neon_flags $flags"] } { + set et_arm_neonv2_flags [concat $et_arm_neon_flags $flags] return 1 } } -- 2.30.2