constant that doesn't fit in 32bits in alpha.c
Richard Henderson
rth@redhat.com
Mon Jun 11 23:06:00 GMT 2012
On 2012-06-10 02:18, Jay K wrote:
>
> gcc-4.7.0/gcc/config/alpha/alpha.c
>
>
> word1 = expand_and (DImode, word1, GEN_INT (0xffff0fff0000fff0), NULL);
>
>
> That "big" constant isn't portable since it doesn't fit in 32bits.
>
>
> 1) append LL
> or 2) break it up into an expression, like
> ((HOST_WIDE_INT)0xffff0fff) << 8) | 0x0fff0
>
>
> or such.
Addressed like so. I couldn't think of any nice way to define this
such that it could be generic, so I left it local to this bit o code.
r~
-------------- next part --------------
* lib/target-supports.exp
(check_effective_target_sync_long_long_runtime): Use
check_effective_target_lp64 instead of
check_effective_target_powerpc64 for powerpc targets.
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 568f6b1..c937484 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3796,7 +3796,7 @@ proc check_effective_target_sync_long_long_runtime { } {
&& [check_effective_target_lp64]
&& [check_effective_target_ultrasparc_hw]) } {
return 1
- } elseif { [check_effective_target_powerpc64] } {
+ } elseif { [istarget powerpc*-*-*] && [check_effective_target_lp64] } {
return 1
} else {
return 0
More information about the Gcc-patches
mailing list