]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Oct 2012 08:01:14 +0000 (08:01 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Oct 2012 08:01:14 +0000 (08:01 +0000)
* combine.c (make_extraction): Remove dead wanted_inner_mode-
and pos_rtx-related code.

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

gcc/ChangeLog
gcc/combine.c

index 9f4f4ce92cf81f546a879f6aca900c35ef84c3d7..5b6fd01d85fa751c3259b02674b17fe08da7e230 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-31  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine.c (make_extraction): Remove dead wanted_inner_mode-
+       and pos_rtx-related code.
+
 2012-10-31  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * expmed.c (store_bit_field_1): Move generation of MEM insvs
index bf06d4c118f846285bed89ba1378254e23a0b830..e9d0a45d6339e45bd465e7a22ca2f1701e6d858a 100644 (file)
@@ -7211,10 +7211,6 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
       && GET_MODE_SIZE (extraction_mode) < GET_MODE_SIZE (mode))
     extraction_mode = mode;
 
-  if (pos_rtx && GET_MODE (pos_rtx) != VOIDmode
-      && GET_MODE_SIZE (pos_mode) < GET_MODE_SIZE (GET_MODE (pos_rtx)))
-    pos_mode = GET_MODE (pos_rtx);
-
   /* If this is not from memory, the desired mode is the preferred mode
      for an extraction pattern's first input operand, or word_mode if there
      is none.  */
@@ -7231,14 +7227,6 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
          wanted_inner_mode = GET_MODE_WIDER_MODE (wanted_inner_mode);
          gcc_assert (wanted_inner_mode != VOIDmode);
        }
-
-      /* If we have to change the mode of memory and cannot, the desired mode
-        is EXTRACTION_MODE.  */
-      if (inner_mode != wanted_inner_mode
-         && (mode_dependent_address_p (XEXP (inner, 0), MEM_ADDR_SPACE (inner))
-             || MEM_VOLATILE_P (inner)
-             || pos_rtx))
-       wanted_inner_mode = extraction_mode;
     }
 
   orig_pos = pos;
@@ -7359,9 +7347,6 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
        }
       pos_rtx = temp;
     }
-  else if (pos_rtx != 0
-          && GET_MODE_SIZE (pos_mode) < GET_MODE_SIZE (GET_MODE (pos_rtx)))
-    pos_rtx = gen_lowpart (pos_mode, pos_rtx);
 
   /* Make POS_RTX unless we already have it and it is correct.  If we don't
      have a POS_RTX but we do have an ORIG_POS_RTX, the latter must