aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2001-01-29 21:34:22 -0500
committerDJ Delorie <dj@gcc.gnu.org>2001-01-29 21:34:22 -0500
commit80c8b1aad61d84870f95396d00c6f4b34b70a61d (patch)
tree22ae8eb085f8e31177f8a4845d5dcc098a4f420c
parentf6fc3552eeb12e56bbcf49853fae1548da74d6c9 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/combine.c6
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