Revert:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Sep 2009 15:14:39 +0000 (15:14 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Sep 2009 15:14:39 +0000 (15:14 +0000)
2009-09-09  Uros Bizjak  <ubizjak@gmail.com>

PR rtl-optimization/39779
* expr.c (convert_modes): Return when mode == oldmode after
CONST_INTs are processed.

testsuite/ChangeLog:

Revert:
2009-09-09  Uros Bizjak <ubizjak@gmail.com>

PR rtl-optimization/39779
* gcc.dg/pr39979.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151596 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c
gcc/testsuite/ChangeLog

index 752b1a7..69d80ea 100644 (file)
@@ -1,3 +1,12 @@
+2009-09-10  Uros Bizjak <ubizjak@gmail.com>
+
+       Revert:
+       2009-09-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/39779
+       * expr.c (convert_modes): Return when mode == oldmode after
+       CONST_INTs are processed.
+
 2009-09-10  Nick Clifton  <nickc@redhat.com>
 
        * config/mep/mep.c (mep_encode_section_info): Copy weakness
index fe74280..cd5eae1 100644 (file)
@@ -761,6 +761,9 @@ convert_modes (enum machine_mode mode, enum machine_mode oldmode, rtx x, int uns
   if (GET_MODE (x) != VOIDmode)
     oldmode = GET_MODE (x);
 
+  if (mode == oldmode)
+    return x;
+
   /* There is one case that we must handle specially: If we are converting
      a CONST_INT into a mode whose size is twice HOST_BITS_PER_WIDE_INT and
      we are to interpret the constant as unsigned, gen_lowpart will do
@@ -826,9 +829,6 @@ convert_modes (enum machine_mode mode, enum machine_mode oldmode, rtx x, int uns
       return gen_lowpart (mode, x);
     }
 
-  if (mode == oldmode)
-    return x;
-
   /* Converting from integer constant into mode is always equivalent to an
      subreg operation.  */
   if (VECTOR_MODE_P (mode) && GET_MODE (x) == VOIDmode)
index c3d6c52..03271ae 100644 (file)
@@ -1,3 +1,11 @@
+2009-09-10  Uros Bizjak <ubizjak@gmail.com>
+
+       Revert:
+       2009-09-09  Uros Bizjak <ubizjak@gmail.com>
+
+       PR rtl-optimization/39779
+       * gcc.dg/pr39979.c: New test.
+
 2009-09-10  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/41257