diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-08-19 16:17:58 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-08-19 16:17:58 -0700 |
commit | 00d4ca1c644a1a4c5d35e41a570479096f7a940c (patch) | |
tree | bd41c60a70e270afeb4e9c5bbad9d5c31c44bfe3 | |
parent | 2aaf11def1dde903f2725f032a84c8c0ac2e210c (diff) | |
download | gcc-00d4ca1c644a1a4c5d35e41a570479096f7a940c.zip gcc-00d4ca1c644a1a4c5d35e41a570479096f7a940c.tar.gz gcc-00d4ca1c644a1a4c5d35e41a570479096f7a940c.tar.bz2 |
(simplify_shift_const...
(simplify_shift_const, XOR case): When applying
distributive law, use shift_mode and GET_MODE (varop) instead of
result_mode.
From-SVN: r5189
-rw-r--r-- | gcc/combine.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 6a39d87..2069409 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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; |