------- Comment #5 from ubizjak at gmail dot com  2007-10-22 06:45 -------
I'm testing following patch:

--cut here--
Index: combine.c
===================================================================
--- combine.c   (revision 129547)
+++ combine.c   (working copy)
@@ -9386,7 +9386,9 @@ simplify_shift_const_1 (enum rtx_code co
                 constant has its sign bit set in shift_mode.  */
              && !(code == ASHIFTRT && GET_CODE (varop) == XOR
                   && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
-                                             shift_mode))
+                                             VECTOR_MODE_P (shift_mode)
+                                             ? GET_MODE_INNER (shift_mode)
+                                             : shift_mode))
              && (new = simplify_const_binary_operation (code, result_mode,
                                                         XEXP (varop, 1),
                                                         GEN_INT (count))) != 0
@@ -9405,7 +9407,9 @@ simplify_shift_const_1 (enum rtx_code co
          if (GET_CODE (XEXP (varop, 1)) == CONST_INT
             && !(code == ASHIFTRT && GET_CODE (varop) == XOR
                  && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
-                                            shift_mode)))
+                                            VECTOR_MODE_P (shift_mode)
+                                            ? GET_MODE_INNER (shift_mode)
+                                            : shift_mode)))
            {
              rtx lhs = simplify_shift_const (NULL_RTX, code, shift_mode,
                                              XEXP (varop, 0), count);
--cut here--


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2007-10-21 11:02:08         |2007-10-22 06:45:38
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33846

Reply via email to