aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-01-26 23:05:08 +0000
committerJeff Law <law@gcc.gnu.org>1998-01-26 16:05:08 -0700
commit4926b75a9fecb157fef00f88c828e3cfc9ceb6fd (patch)
tree62ff1e3d78d26e4712e45a35ae0ded9c1243e794 /gcc
parentc6aded7c2b2a2d3f26cce0ada1ef379d3ef37312 (diff)
downloadgcc-4926b75a9fecb157fef00f88c828e3cfc9ceb6fd.zip
gcc-4926b75a9fecb157fef00f88c828e3cfc9ceb6fd.tar.gz
gcc-4926b75a9fecb157fef00f88c828e3cfc9ceb6fd.tar.bz2
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: r17498
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/emit-rtl.c10
2 files changed, 8 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 518c8e5..ce25f7e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
+
+ * emit-rtl.c (gen_lowpart_common): Handle more case where converting
+ a CONST_INT into SFmode.
+
Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
* flags.h: New flag (optimize_size).
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index c20a9c3..602766d 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -795,14 +795,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;