diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2003-11-19 08:23:43 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2003-11-19 08:23:43 +0000 |
commit | 90db942b2752c1fea3a3b6f4a623710e1b88abd7 (patch) | |
tree | 35e9c00cbd8aaeaac270c6ca8f832d1d8d5d9542 /gcc/emit-rtl.c | |
parent | d4c32b6fcae6547e1ab8ab8c36faa59389ef54c2 (diff) | |
download | gcc-90db942b2752c1fea3a3b6f4a623710e1b88abd7.zip gcc-90db942b2752c1fea3a3b6f4a623710e1b88abd7.tar.gz gcc-90db942b2752c1fea3a3b6f4a623710e1b88abd7.tar.bz2 |
emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless the register lowpart is a...
* emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
the register lowpart is a TRULY_NOOP_TRUNCATION.
From-SVN: r73731
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 9c50e23..a528641 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1356,6 +1356,8 @@ gen_lowpart (enum machine_mode mode, rtx x) /* The following exposes the use of "x" to CSE. */ if (GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD && SCALAR_INT_MODE_P (GET_MODE (x)) + && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode), + GET_MODE_BITSIZE (GET_MODE (x))) && ! no_new_pseudos) return gen_lowpart (mode, force_reg (GET_MODE (x), x)); |