From 3d1877b1271889f9b1cc54d108b4363924343f29 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 9 Jun 1995 19:29:17 -0400 Subject: [PATCH] (lshift_double): Replace `&' with `%' to fix typo. (lshift_double, rshift_double): Truncate shift count only if SHIFT_COUNT_TRUNCATED. Remove unnecessary `count >= prec' test. From-SVN: r9917 --- gcc/fold-const.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gcc/fold-const.c b/gcc/fold-const.c index d310c8eafa0..e7d313657d9 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -337,8 +337,10 @@ lshift_double (l1, h1, count, prec, lv, hv, arith) return; } - if (count >= prec) - count = (unsigned HOST_WIDE_INT) count & prec; +#ifdef SHIFT_COUNT_TRUNCATED + if (SHIFT_COUNT_TRUNCATED) + count %= prec; +#endif if (count >= HOST_BITS_PER_WIDE_INT) { @@ -370,8 +372,10 @@ rshift_double (l1, h1, count, prec, lv, hv, arith) ? -((unsigned HOST_WIDE_INT) h1 >> (HOST_BITS_PER_WIDE_INT - 1)) : 0); - if (count >= prec) - count = (unsigned HOST_WIDE_INT) count % prec; +#ifdef SHIFT_COUNT_TRUNCATED + if (SHIFT_COUNT_TRUNCATED) + count %= prec; +#endif if (count >= HOST_BITS_PER_WIDE_INT) { -- 2.30.2