Cope with down shifting a 32 bit constant on a 64 bit host.

From-SVN: r29655
This commit is contained in:
Nick Clifton 1999-09-24 16:12:44 +00:00 committed by Nick Clifton
parent 0a16ce6f50
commit aaaec1142d
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Fri Sep 24 17:10:56 1999 Nick Clifton <nickc@cygnus.com>
* combine.c (simplify_comparison): Cope with downshifting a 32 bit
constant on a 64 bit host. Patch supplied by Geoffrey Keating
<geoffk@cygnus.com>.
Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk>
* builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.

View File

@ -10364,10 +10364,10 @@ simplify_comparison (code, pop0, pop1)
{
/* We must perform a logical shift, not an arithmetic one,
as we want the top N bits of C to be zero. */
unsigned HOST_WIDE_INT temp = const_op;
unsigned HOST_WIDE_INT temp = const_op & GET_MODE_MASK (mode);
temp >>= INTVAL (XEXP (op0, 1));
op1 = GEN_INT (temp);
op1 = GEN_INT (trunc_int_for_mode (temp, mode));
op0 = XEXP (op0, 0);
continue;
}