diff options
author | Jeffrey A Law <law@cygnus.com> | 1998-01-26 23:05:08 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-01-26 16:05:08 -0700 |
commit | 4926b75a9fecb157fef00f88c828e3cfc9ceb6fd (patch) | |
tree | 62ff1e3d78d26e4712e45a35ae0ded9c1243e794 /gcc/emit-rtl.c | |
parent | c6aded7c2b2a2d3f26cce0ada1ef379d3ef37312 (diff) | |
download | gcc-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/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 10 |
1 files changed, 3 insertions, 7 deletions
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; |