diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7b2b03d31821..ad2633b46fa2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2015-02-04 Thomas Preud'homme + + PR testsuite/64796 + * lib/target-supports.exp (check_effective_target_bswap64): Do not + cache result in a global variable. Include all 32-bit targets for + bswap64 tests. + 2015-02-03 Jakub Jelinek PR rtl-optimization/64756 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index cb8a61325596..ce7043acac2d 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5049,18 +5049,11 @@ proc check_effective_target_bswap32 { } { proc check_effective_target_bswap64 { } { global et_bswap64_saved - if [info exists et_bswap64_saved] { - verbose "check_effective_target_bswap64: using cached result" 2 - } else { - set et_bswap64_saved 0 - if { [is-effective-target bswap] - && [is-effective-target lp64] } { - set et_bswap64_saved 1 - } + # expand_unop can expand 64-bit byte swap on 32-bit targets + if { [is-effective-target bswap] && [is-effective-target int32plus] } { + return 1 } - - verbose "check_effective_target_bswap64: returning $et_bswap64_saved" 2 - return $et_bswap64_saved + return 0 } # Return 1 if the target supports atomic operations on "int" and "long".