]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
emit-rtl.c (gen_lowpart_common): Handle more case where converting a CONST_INT into...
authorJeffrey A Law <law@cygnus.com>
Sun, 8 Mar 1998 10:13:04 +0000 (10:13 +0000)
committerJeff Law <law@gcc.gnu.org>
Sun, 8 Mar 1998 10:13:04 +0000 (03:13 -0700)
        * emit-rtl.c (gen_lowpart_common): Handle more case where converting
        a CONST_INT into SFmode.

From-SVN: r18442

gcc/ChangeLog
gcc/emit-rtl.c

index 3f119f28eec7a436b75e781c5c6d1ccc262fc14f..6c222b1f9fa1361575f1686aff239c823ed8e36b 100644 (file)
@@ -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.
index 394c14a05808f3b9e812ddae0d96c5e4d8196e1c..2f508ebe7a32d7a25d1e3b93be81ca69bb83b708 100644 (file)
@@ -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;