aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
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