combine.c (if_then_else_cond): Pass the correct mode to operand_subword() for constants.
authorDJ Delorie <dj@redhat.com>
Tue, 30 Jan 2001 02:34:22 +0000 (21:34 -0500)
committerDJ Delorie <dj@gcc.gnu.org>
Tue, 30 Jan 2001 02:34:22 +0000 (21:34 -0500)
* combine.c (if_then_else_cond): Pass the correct mode to
operand_subword() for constants.

From-SVN: r39342

gcc/ChangeLog
gcc/combine.c

index 18a2458..d25d565 100644 (file)
@@ -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
index 7311370..9b721af 100644 (file)
@@ -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