aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-12-23 07:34:45 +0000
committerAlan Modra <amodra@gcc.gnu.org>2004-12-23 18:04:45 +1030
commit5e5f01b969fcc0449e7826dae1343f10bfca69e8 (patch)
treefaa909129a4acc0471590f15cb4f7c168e7b7302 /gcc/config
parentad4f9e7ebb58d2530243b3d77bfe5265dfdf0693 (diff)
downloadgcc-5e5f01b969fcc0449e7826dae1343f10bfca69e8.zip
gcc-5e5f01b969fcc0449e7826dae1343f10bfca69e8.tar.gz
gcc-5e5f01b969fcc0449e7826dae1343f10bfca69e8.tar.bz2
re PR target/18751 (ICE in expr.c:5083, profiledbootstrap)
PR target/18751 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return false for anything larger than 32 bits in 32-bit code. From-SVN: r92535
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 8bedc58..f0c44a6 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -3324,7 +3324,8 @@ legitimate_lo_sum_address_p (enum machine_mode mode, rtx x, int strict)
return false;
if (GET_MODE_NUNITS (mode) != 1)
return false;
- if (GET_MODE_BITSIZE (mode) > 64)
+ if (GET_MODE_BITSIZE (mode) > 64
+ || (GET_MODE_BITSIZE (mode) > 32 && !TARGET_POWERPC64))
return false;
return CONSTANT_P (x);