OSDN Git Service

(simplify_shift_const, XOR case): When applying
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Aug 1993 23:17:58 +0000 (23:17 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Aug 1993 23:17:58 +0000 (23:17 +0000)
distributive law, use shift_mode and GET_MODE (varop) instead of
result_mode.

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

gcc/combine.c

index 6a39d87..2069409 100644 (file)
@@ -7600,12 +7600,12 @@ simplify_shift_const (x, code, result_mode, varop, count)
             logical expression, make a new logical expression, and apply
             the inverse distributive law.  */
          {
-           rtx lhs = simplify_shift_const (NULL_RTX, code, result_mode,
+           rtx lhs = simplify_shift_const (NULL_RTX, code, shift_mode,
                                            XEXP (varop, 0), count);
-           rtx rhs = simplify_shift_const (NULL_RTX, code, result_mode,
+           rtx rhs = simplify_shift_const (NULL_RTX, code, shift_mode,
                                            XEXP (varop, 1), count);
 
-           varop = gen_binary (GET_CODE (varop), result_mode, lhs, rhs);
+           varop = gen_binary (GET_CODE (varop), GET_MODE (varop), lhs, rhs);
            varop = apply_distributive_law (varop);
 
            count = 0;