mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-11 16:27:18 +08:00
* expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
From-SVN: r17107
This commit is contained in:
parent
bcbbac264c
commit
166cdf4ab4
@ -1,3 +1,7 @@
|
||||
Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
|
||||
|
||||
Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* alpha.c (alpha_cpu_name): New variable.
|
||||
|
15
gcc/expmed.c
15
gcc/expmed.c
@ -1752,11 +1752,16 @@ expand_shift (code, mode, shifted, amount, target, unsignedp)
|
||||
op1 = expand_expr (amount, NULL_RTX, VOIDmode, 0);
|
||||
|
||||
#ifdef 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));
|
||||
if (SHIFT_COUNT_TRUNCATED)
|
||||
{
|
||||
if (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));
|
||||
else if (GET_CODE (op1) == SUBREG
|
||||
&& SUBREG_WORD (op1) == 0)
|
||||
op1 = SUBREG_REG (op1);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (op1 == const0_rtx)
|
||||
|
Loading…
Reference in New Issue
Block a user