diff options
author | Torbjorn Granlund <tege@gnu.org> | 1993-12-24 11:46:16 +0000 |
---|---|---|
committer | Torbjorn Granlund <tege@gnu.org> | 1993-12-24 11:46:16 +0000 |
commit | 4d61f8c559377026ca2a8148d2f5b5b1fd4a81d5 (patch) | |
tree | 23d0592f2505dd867270d9f76f875ea7fc897e35 /gcc | |
parent | 792089b33e9b1f83b869b62bbcaacb99f9200d2d (diff) | |
download | gcc-4d61f8c559377026ca2a8148d2f5b5b1fd4a81d5.zip gcc-4d61f8c559377026ca2a8148d2f5b5b1fd4a81d5.tar.gz gcc-4d61f8c559377026ca2a8148d2f5b5b1fd4a81d5.tar.bz2 |
(simplify_binary_operation, case *SHIFT*): Reduce arg1 as
defined by SHIFT_COUNT_TRUNCATED.
From-SVN: r6296
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cse.c | 15 |
1 files changed, 3 insertions, 12 deletions
@@ -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. |