From 523fbd9df50a45bf6543df72fcb0fa29fa4b12b9 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 5 Oct 2001 12:14:22 +0000 Subject: [PATCH] i386.c (ix86_split_to_parts): Use trunc_int_for_mode to ensure valid SImode constants. * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode to ensure valid SImode constants. From-SVN: r46032 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.c | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74b4f9ba46d..a3efa63071e 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 7e65b0e9164..d88c853a52a 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 (); -- 2.30.2