summaryrefslogtreecommitdiffstats
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-08 22:56:52 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-08 22:56:52 +0000
commit648818ad87fd45e64ccf62b2d9f63e90b18ad19c (patch)
treed8ef61e1d14c2b364aa45ac97858bdc1dc20446d /gcc/explow.c
parent976ceec9596d679f4f45fe52e36943cec69979c8 (diff)
downloadppe42-gcc-648818ad87fd45e64ccf62b2d9f63e90b18ad19c.tar.gz
ppe42-gcc-648818ad87fd45e64ccf62b2d9f63e90b18ad19c.zip
* explow.c (convert_memory_address, case SUBREG): Only return
inner object if SUBREG_PROMOTED_VAR_P or known to be pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46862 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index 940a8395191..874713f65e8 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -363,6 +363,7 @@ convert_memory_address (to_mode, x)
case SUBREG:
if (POINTERS_EXTEND_UNSIGNED >= 0
+ && (SUBREG_PROMOTED_VAR_P (x) || REG_POINTER (SUBREG_REG (x)))
&& GET_MODE (SUBREG_REG (x)) == to_mode)
return SUBREG_REG (x);
break;
OpenPOWER on IntegriCloud