aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-08-19 16:17:58 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-08-19 16:17:58 -0700
commit00d4ca1c644a1a4c5d35e41a570479096f7a940c (patch)
treebd41c60a70e270afeb4e9c5bbad9d5c31c44bfe3 /gcc
parent2aaf11def1dde903f2725f032a84c8c0ac2e210c (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/combine.c6
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;