diff options
author | DJ Delorie <dj@redhat.com> | 2001-01-29 21:34:22 -0500 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2001-01-29 21:34:22 -0500 |
commit | 80c8b1aad61d84870f95396d00c6f4b34b70a61d (patch) | |
tree | 22ae8eb085f8e31177f8a4845d5dcc098a4f420c | |
parent | f6fc3552eeb12e56bbcf49853fae1548da74d6c9 (diff) | |
download | gcc-80c8b1aad61d84870f95396d00c6f4b34b70a61d.zip gcc-80c8b1aad61d84870f95396d00c6f4b34b70a61d.tar.gz gcc-80c8b1aad61d84870f95396d00c6f4b34b70a61d.tar.bz2 |
combine.c (if_then_else_cond): Pass the correct mode to operand_subword() for constants.
* combine.c (if_then_else_cond): Pass the correct mode to
operand_subword() for constants.
From-SVN: r39342
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/combine.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18a2458..d25d565 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-01-29 DJ Delorie <dj@redhat.com> + + * combine.c (if_then_else_cond): Pass the correct mode to + operand_subword() for constants. + Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com> * config/i386/cygwin.h: Add w32api to include search. Search different diff --git a/gcc/combine.c b/gcc/combine.c index 7311370..9b721af 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -7426,8 +7426,10 @@ if_then_else_cond (x, ptrue, pfalse) && GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) > UNITS_PER_WORD && (WORDS_BIG_ENDIAN || SUBREG_WORD (x) != 0)) { - true0 = operand_subword (true0, SUBREG_WORD (x), 0, mode); - false0 = operand_subword (false0, SUBREG_WORD (x), 0, mode); + true0 = operand_subword (true0, SUBREG_WORD (x), 0, + GET_MODE (SUBREG_REG (x))); + false0 = operand_subword (false0, SUBREG_WORD (x), 0, + GET_MODE (SUBREG_REG (x))); } *ptrue = force_to_mode (true0, mode, ~(HOST_WIDE_INT) 0, NULL_RTX, 0); *pfalse |