aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
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 /gcc/combine.c
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
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c6
1 files changed, 4 insertions, 2 deletions
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