summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-05-22 21:49:33 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-05-22 21:49:33 +0000
commit014c646aac3c5a655dddefe28c927cc722f9a6f3 (patch)
tree66890f9c3ef52f94d9751977a55ce6a42cdf861c /gcc/reload1.c
parent9236d5ffe7d8a810d612e7d3c8c0c1cb15bc0765 (diff)
downloadgcc-014c646aac3c5a655dddefe28c927cc722f9a6f3.tar.gz
* reload1.c (reload_cse_record_set): Ignore values for SREG if
their mode is narrower than DEST_MODE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14111 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 62ac6d71d1f..80cb8c3933f 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -8305,6 +8305,9 @@ reload_cse_record_set (set, body)
continue;
if (dest_mode == GET_MODE (XEXP (x, 0)))
tmp = XEXP (x, 0);
+ else if (GET_MODE_BITSIZE (dest_mode)
+ > GET_MODE_BITSIZE (GET_MODE (XEXP (x, 0))))
+ continue;
else
tmp = gen_lowpart_common (dest_mode, XEXP (x, 0));
if (tmp)