From: Torbjorn Granlund Date: Sat, 12 Feb 1994 12:40:58 +0000 (+0000) Subject: (expand_shift): Truncate immediate count if SHIFT_COUNT_TRUNCATED. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ab0a5c41c7ae40cf1ae3bc172c1daebbec43643;p=gcc.git (expand_shift): Truncate immediate count if SHIFT_COUNT_TRUNCATED. From-SVN: r6538 --- diff --git a/gcc/expmed.c b/gcc/expmed.c index ccf130e5672..a4eea006417 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -1602,6 +1602,14 @@ expand_shift (code, mode, shifted, amount, target, unsignedp) op1 = expand_expr (amount, NULL_RTX, VOIDmode, 0); +#if SHIFT_COUNT_TRUNCATED + if (SHIFT_COUNT_TRUNCATED + && GET_CODE (op1) == CONST_INT + && (unsigned HOST_WIDE_INT) INTVAL (op1) >= GET_MODE_BITSIZE (mode)) + op1 = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (op1) + % GET_MODE_BITSIZE (mode)); +#endif + if (op1 == const0_rtx) return shifted;