(simplify_shift_const...
authorJim Wilson <wilson@gcc.gnu.org>
Thu, 19 Aug 1993 23:17:58 +0000 (16:17 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Thu, 19 Aug 1993 23:17:58 +0000 (16:17 -0700)
(simplify_shift_const, XOR case): When applying
distributive law, use shift_mode and GET_MODE (varop) instead of
result_mode.

From-SVN: r5189

gcc/combine.c

index 6a39d876bf7ab243da700f03641ab1ee4afe49c9..20694090c59401b51943bdf8382a0cc3c02bf42f 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;