From aaaec1142d3e7b9174ecd74fd21c6c39d696d56d Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 24 Sep 1999 16:12:44 +0000 Subject: [PATCH] Cope with down shifting a 32 bit constant on a 64 bit host. From-SVN: r29655 --- gcc/ChangeLog | 6 ++++++ gcc/combine.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 587c950..b6723ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Fri Sep 24 17:10:56 1999 Nick Clifton + + * combine.c (simplify_comparison): Cope with downshifting a 32 bit + constant on a 64 bit host. Patch supplied by Geoffrey Keating + . + Fri Sep 24 10:48:10 1999 Bernd Schmidt * builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined. diff --git a/gcc/combine.c b/gcc/combine.c index 0e556db..61d55d0 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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; } -- 2.7.4