diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-09-21 11:01:38 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-09-21 11:01:38 -0700 |
commit | fc4a0dca1b2250923b5be56a178e28fd1f514ce6 (patch) | |
tree | 2cef325bb3722cf3901b466a13b9e041363181fa | |
parent | bf8b268a4d421d061a1203c15c7d3d90239e2752 (diff) | |
download | gcc-fc4a0dca1b2250923b5be56a178e28fd1f514ce6.zip gcc-fc4a0dca1b2250923b5be56a178e28fd1f514ce6.tar.gz gcc-fc4a0dca1b2250923b5be56a178e28fd1f514ce6.tar.bz2 |
(eliminate_regs): Make test in LOAD_EXTEND_OP case more precise.
From-SVN: r8114
-rw-r--r-- | gcc/reload1.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index c56710e..e31267c 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -2915,7 +2915,11 @@ eliminate_regs (x, mem_mode, insn) smaller. So leave the SUBREG then. */ && ! (GET_CODE (SUBREG_REG (x)) == REG && GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD - && GET_MODE_SIZE (GET_MODE (new)) <= UNITS_PER_WORD) + && GET_MODE_SIZE (GET_MODE (new)) <= UNITS_PER_WORD + && (GET_MODE_SIZE (GET_MODE (x)) + > GET_MODE_SIZE (GET_MODE (new))) + && INTEGRAL_MODE_P (GET_MODE (new)) + && LOAD_EXTEND_OP (GET_MODE (new)) != NIL) #endif ) { |