diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-10-06 21:38:35 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-10-06 21:38:35 +0000 |
commit | 88f6e1a4002bcafa7192f6d4ca43e0e800a6eb64 (patch) | |
tree | 1e0e1b0e69edae87b925940ce77b5fc8e47064e6 /gcc/cse.c | |
parent | 5d782ec853af9a0b7ead0e2dbbc4e580cd5ba28f (diff) | |
download | gcc-88f6e1a4002bcafa7192f6d4ca43e0e800a6eb64.tar.gz |
(cse_insn): Don't call force_const_mem on (const (truncate)).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8231 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index 9bbe8a618e2..67f2c148b57 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -6724,7 +6724,11 @@ cse_insn (insn, in_libcall_block) else if (constant_pool_entries_cost && CONSTANT_P (trial) - && (src_folded == 0 || GET_CODE (src_folded) != MEM) + && ! (GET_CODE (trial) == CONST + && GET_CODE (XEXP (trial, 0)) == TRUNCATE) + && (src_folded == 0 + || (GET_CODE (src_folded) != MEM + && ! src_folded_force_flag)) && GET_MODE_CLASS (mode) != MODE_CC) { src_folded_force_flag = 1; |