From 4d61f8c559377026ca2a8148d2f5b5b1fd4a81d5 Mon Sep 17 00:00:00 2001 From: Torbjorn Granlund Date: Fri, 24 Dec 1993 11:46:16 +0000 Subject: [PATCH] (simplify_binary_operation, case *SHIFT*): Reduce arg1 as defined by SHIFT_COUNT_TRUNCATED. From-SVN: r6296 --- gcc/cse.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gcc/cse.c b/gcc/cse.c index d9bc7d4a445..936370e928e 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -3844,12 +3844,9 @@ simplify_binary_operation (code, mode, op0, op1) #ifdef SHIFT_COUNT_TRUNCATED if (SHIFT_COUNT_TRUNCATED) - arg1 &= (BITS_PER_WORD - 1); + arg1 %= width; #endif - if (arg1 >= width) - return 0; - val = ((unsigned HOST_WIDE_INT) arg0) >> arg1; break; @@ -3860,12 +3857,9 @@ simplify_binary_operation (code, mode, op0, op1) #ifdef SHIFT_COUNT_TRUNCATED if (SHIFT_COUNT_TRUNCATED) - arg1 &= (BITS_PER_WORD - 1); + arg1 %= width; #endif - if (arg1 >= width) - return 0; - val = ((unsigned HOST_WIDE_INT) arg0) << arg1; break; @@ -3875,12 +3869,9 @@ simplify_binary_operation (code, mode, op0, op1) #ifdef SHIFT_COUNT_TRUNCATED if (SHIFT_COUNT_TRUNCATED) - arg1 &= (BITS_PER_WORD - 1); + arg1 %= width; #endif - if (arg1 >= width) - return 0; - val = arg0s >> arg1; /* Bootstrap compiler may not have sign extended the right shift. -- 2.30.2