Hi, Following discussions after Thomas's patches improving bswap support https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01279.html
I noticed that: * the associated tests weren't executed on aarch64_be * ARM targets older than v6 do not support the needed instructions. The attached patch changes check_effective_target_bswap(): - accept aarch64*-*-* instead of aarch64-*-* - when target is arm*-*-*, check __ARM_ARCH >= 6 2014-10-29 Christophe Lyon <christophe.l...@linaro.org> * lib/target-supports.exp (check_effective_target_bswap): Update conditions for AArch64 and ARM targets. OK? Christophe.
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 4398345..80ff52d 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -4892,9 +4892,8 @@ proc check_effective_target_bswap { } { verbose "check_effective_target_bswap: using cached result" 2 } else { set et_bswap_saved 0 - if { [istarget aarch64-*-*] + if { [istarget aarch64*-*-*] || [istarget alpha*-*-*] - || [istarget arm*-*-*] || [istarget i?86-*-*] || [istarget m68k-*-*] || [istarget powerpc*-*-*] @@ -4902,6 +4901,16 @@ proc check_effective_target_bswap { } { || [istarget s390*-*-*] || [istarget x86_64-*-*] } { set et_bswap_saved 1 + } else { + if { [istarget arm*-*-*] + && [check_no_compiler_messages_nocache arm_v6_or_later object { + #if __ARM_ARCH < 6 + #error not armv6 or later + #endif + int i; + } ""] } { + set et_bswap_saved 1 + } } }