]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
combine.c (combine_simplify_rtx): Don't pass VOIDmode to simplify_unary_operation...
authorRichard Sandiford <rsandifo@redhat.com>
Mon, 12 Jan 2004 09:20:24 +0000 (09:20 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 12 Jan 2004 09:20:24 +0000 (09:20 +0000)
* combine.c (combine_simplify_rtx): Don't pass VOIDmode to
simplify_unary_operation if the operand has a known mode.

From-SVN: r75709

gcc/ChangeLog
gcc/combine.c

index dd94d58cf9887c4539ecb4656fc29b93aeec1680..1f23cbdf868be1ad53a88b5807ae67ff280ab446 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
+
+       * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
+       simplify_unary_operation if the operand has a known mode.
+
 2004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
 
        * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
index 2c92d247aa8357b41cde165cd5f6df2a185ea3e9..db139fe9bbbf2c1e5d4ccf7bf3594c12701d79ca 100644 (file)
@@ -3690,6 +3690,8 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int last,
   switch (GET_RTX_CLASS (code))
     {
     case '1':
+      if (op0_mode == VOIDmode)
+       op0_mode = GET_MODE (XEXP (x, 0));
       temp = simplify_unary_operation (code, mode, XEXP (x, 0), op0_mode);
       break;
     case '<':