diff --git a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c index 988ecac3787..6dc8c55e2f9 100644 --- a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c +++ b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-require-effective-target arm_arch_v6t2_ok } */ +/* { dg-require-effective-target arm_arch_v6t2_hw_ok } */ /* { dg-add-options arm_arch_v6t2 } */ #include "arm_acle.h" diff --git a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-rbit.c b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-rbit.c index d1fe274b5ce..b01c4219a7e 100644 --- a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-rbit.c +++ b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-rbit.c @@ -1,6 +1,6 @@ /* Test the ACLE data intrinsics existence for specific instruction. */ /* { dg-do run } */ -/* { dg-require-effective-target arm_arch_v6t2_ok } */ +/* { dg-require-effective-target arm_arch_v6t2_hw_ok } */ /* { dg-additional-options "--save-temps -O1" } */ /* { dg-add-options arm_arch_v6t2 } */ /* { dg-final { check-function-bodies "**" "" "" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 1a7bea96c1e..d414cddf4dc 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5590,6 +5590,24 @@ proc check_effective_target_arm_thumb1_cbz_ok {} { } } +# Return 1 if this is an Arm target which supports the Armv6t2 extensions. +# This can be either in Arm state or in Thumb state. + +proc check_effective_target_arm_arch_v6t2_hw_ok {} { + if [check_effective_target_arm_thumb1_ok] { + return [check_no_compiler_messages arm_movt object { + int + main (void) + { + asm ("bfc r0, #1, #2"); + return 0; + } + } [add_options_for_arm_arch_v6t2 ""]] + } else { + return 0 + } +} + # Return 1 if this is an ARM target where ARMv8-M Security Extensions is # available.