aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-06-27 19:09:37 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-06-27 19:09:37 -0400
commit2dfd595d54c67a32874655b81ccba1c63947e31a (patch)
treea1397e13e0595216c10b8f9e6b87db743f92bf2f /gcc/fold-const.c
parent1a16a053da4892ff65aacec22be8e711c524d14e (diff)
downloadgcc-2dfd595d54c67a32874655b81ccba1c63947e31a.zip
gcc-2dfd595d54c67a32874655b81ccba1c63947e31a.tar.gz
gcc-2dfd595d54c67a32874655b81ccba1c63947e31a.tar.bz2
(fold_truthop): Commute unextend and convert on l_const and r_const.
From-SVN: r10065
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 7238e7a..796f742 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2866,7 +2866,7 @@ fold_truthop (code, truth_type, lhs, rhs)
if (l_const)
{
- l_const = convert (type, unextend (l_const, ll_bitsize, ll_unsignedp));
+ l_const = unextend (convert (type, l_const), ll_bitsize, ll_unsignedp);
l_const = const_binop (LSHIFT_EXPR, l_const, size_int (xll_bitpos), 0);
if (! integer_zerop (const_binop (BIT_AND_EXPR, l_const,
fold (build1 (BIT_NOT_EXPR,
@@ -2883,7 +2883,7 @@ fold_truthop (code, truth_type, lhs, rhs)
}
if (r_const)
{
- r_const = convert (type, unextend (r_const, rl_bitsize, rl_unsignedp));
+ r_const = unextend (convert (type, r_const), rl_bitsize, rl_unsignedp);
r_const = const_binop (LSHIFT_EXPR, r_const, size_int (xrl_bitpos), 0);
if (! integer_zerop (const_binop (BIT_AND_EXPR, r_const,
fold (build1 (BIT_NOT_EXPR,