From aec2eae65f6a1b9950a43d730af816a943d3e38a Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Tue, 24 Sep 2013 17:23:43 +0000 Subject: [PATCH] target-supports.exp (check_effective_target_arm_cond_exec): New procedure. [gcc/testsuite/] 2013-09-24 Kyrylo Tkachov * lib/target-supports.exp (check_effective_target_arm_cond_exec): New procedure. * gcc.target/arm/minmax_minus.c: Check for cond_exec target. From-SVN: r202872 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.target/arm/minmax_minus.c | 1 + gcc/testsuite/lib/target-supports.exp | 11 +++++++++++ 3 files changed, 18 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6443e3e0388..dc1f282191b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2013-09-24 Kyrylo Tkachov + + * lib/target-supports.exp (check_effective_target_arm_cond_exec): + New procedure. + * gcc.target/arm/minmax_minus.c: Check for cond_exec target. + 2013-09-24 Richard Biener PR middle-end/58513 diff --git a/gcc/testsuite/gcc.target/arm/minmax_minus.c b/gcc/testsuite/gcc.target/arm/minmax_minus.c index 4c2dcdf8ec0..906342a87cf 100644 --- a/gcc/testsuite/gcc.target/arm/minmax_minus.c +++ b/gcc/testsuite/gcc.target/arm/minmax_minus.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target arm_cond_exec } */ /* { dg-options "-O2" } */ #define MAX(a, b) (a > b ? a : b) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index e6e9d7795f0..99784f9760d 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2599,6 +2599,17 @@ proc check_effective_target_arm_thumb2 { } { } ""] } +# Return 1 if this is an ARM target where conditional execution is available. + +proc check_effective_target_arm_cond_exec { } { + return [check_no_compiler_messages arm_cond_exec assembly { + #if defined(__arm__) && defined(__thumb__) && !defined(__thumb2__) + #error FOO + #endif + int i; + } ""] +} + # Return 1 if this is an ARM cortex-M profile cpu proc check_effective_target_arm_cortex_m { } {