From: Jeffrey A Law Date: Sun, 8 Mar 1998 10:13:04 +0000 (+0000) Subject: emit-rtl.c (gen_lowpart_common): Handle more case where converting a CONST_INT into... X-Git-Tag: prereleases/egcs-1.0.2-980309-prerelease~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f623349c80034f369bdab9eaa04be4b34cac7071;p=thirdparty%2Fgcc.git emit-rtl.c (gen_lowpart_common): Handle more case where converting a CONST_INT into SFmode. * emit-rtl.c (gen_lowpart_common): Handle more case where converting a CONST_INT into SFmode. From-SVN: r18442 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f119f28eec7..6c222b1f9fa1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Mar 8 11:16:23 1998 Jeffrey A Law (law@cygnus.com) + + * emit-rtl.c (gen_lowpart_common): Handle more case where converting + a CONST_INT into SFmode. + Sat Mar 7 01:12:46 1998 Jeffrey A Law (law@cygnus.com) * i386/aix386ng.h (CPP_PREDEFINES): Put back -Di386. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 394c14a05808..2f508ebe7a32 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -820,14 +820,10 @@ gen_lowpart_common (mode, x) #endif /* We need an extra case for machines where HOST_BITS_PER_WIDE_INT is the - same as sizeof (double), such as the alpha. We only handle the - REAL_ARITHMETIC case, which is easy. Testing HOST_BITS_PER_WIDE_INT - is not strictly necessary, but is done to restrict this code to cases - where it is known to work. */ + same as sizeof (double) or when sizeof (float) is larger than the + size of a word on the target machine. */ #ifdef REAL_ARITHMETIC - else if (mode == SFmode - && GET_CODE (x) == CONST_INT - && GET_MODE_BITSIZE (mode) * 2 == HOST_BITS_PER_WIDE_INT) + else if (mode == SFmode && GET_CODE (x) == CONST_INT) { REAL_VALUE_TYPE r; HOST_WIDE_INT i;