From: kenner Date: Fri, 5 Oct 2001 12:14:22 +0000 (+0000) Subject: * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode X-Git-Tag: upstream/4.9.2~91773 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c5ad3005994428d2741458b6d16012ce99a7f414;p=platform%2Fupstream%2Flinaro-gcc.git * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode to ensure valid SImode constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46032 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74b4f9b..a3efa63 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 5 08:17:46 2001 Richard Kenner + + * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode + to ensure valid SImode constants. + 2001-10-05 Alexandre Oliva * Makefile.in (c-decl.o): Depend on tree-inline.h. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 7e65b0e..d88c853 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8465,7 +8465,7 @@ ix86_split_to_parts (operand, parts, mode) case XFmode: case TFmode: REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l); - parts[2] = GEN_INT (l[2]); + parts[2] = GEN_INT (trunc_int_for_mode (l[2], SImode)); break; case DFmode: REAL_VALUE_TO_TARGET_DOUBLE (r, l); @@ -8473,8 +8473,8 @@ ix86_split_to_parts (operand, parts, mode) default: abort (); } - parts[1] = GEN_INT (l[1]); - parts[0] = GEN_INT (l[0]); + parts[1] = GEN_INT (trunc_int_for_mode (l[1], SImode)); + parts[0] = GEN_INT (trunc_int_for_mode (l[0], SImode)); } else abort (); @@ -8506,10 +8506,12 @@ ix86_split_to_parts (operand, parts, mode) REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l); /* Do not use shift by 32 to avoid warning on 32bit systems. */ if (HOST_BITS_PER_WIDE_INT >= 64) - parts[0] = GEN_INT (l[0] + ((l[1] << 31) << 1)); + parts[0] + = GEN_INT (trunc_int_for_mode (l[0] + ((l[1] << 31) << 1), + SImode)); else parts[0] = immed_double_const (l[0], l[1], DImode); - parts[1] = GEN_INT (l[2]); + parts[1] = GEN_INT (trunc_int_for_mode (l[2], SImode)); } else abort ();