* combine.c (if_then_else_cond): Be careful about what kinds
of RTL expressions are passed to operand_subword.
From-SVN: r31383
Wed Jan 12 22:34:00 2000 Jeffrey A Law (law@cygnus.com)
+ * combine.c (if_then_else_cond): Be careful about what kinds
+ of RTL expressions are passed to operand_subword.
+
* flow.c (split_edge): If we have to insert a new jump, make
sure to associate it with a basic block.
&& 0 != (cond0 = if_then_else_cond (SUBREG_REG (x),
&true0, &false0)))
{
- if (GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) > UNITS_PER_WORD
+ if ((GET_CODE (SUBREG_REG (x)) == REG
+ || GET_CODE (SUBREG_REG (x)) == MEM
+ || CONSTANT_P (SUBREG_REG (x)))
+ && 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);