This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/25028] TImode-to-floating conversions broken
- From: "jsm28 at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Dec 2005 21:50:14 -0000
- Subject: [Bug other/25028] TImode-to-floating conversions broken
- References: <bug-25028-230@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from jsm28 at gcc dot gnu dot org 2005-12-15 21:50 -------
Subject: Bug 25028
Author: jsm28
Date: Thu Dec 15 21:50:10 2005
New Revision: 108598
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108598
Log:
PR other/25028
* libgcc2.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Define.
* libgcc2.c (__floatdixf, __floatundixf, __floatditf,
__floatunditf): Use #error if type sizes don't match requirements
of implementation.
(__floatdisf, __floatdidf): Unify. Possibly use XFmode or TFmode
as wider floating-point type. Use #error if type sizes don't
match requirements of implementation. Avoid overflow in computing
Wtype_MAXp1_F * Wtype_MAXp1_F. When special casing conversion,
shift one more bit. Cast 1 to DWtype or UDWtype for shifting.
(__floatundisf, __floatundidf): Likewise.
* config/ia64/hpux.h (XF_SIZE, TF_SIZE): Define.
* config/ia64/ia64.c (ia64_init_libfuncs): Use
_U_Qfcnvfxt_quad_to_quad and _U_Qfcnvxf_quad_to_quad for
TFmode-TImode conversions.
* doc/tm.texi (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Document.
testsuite:
* gcc.dg/torture/fp-int-convert-timode.c: Only XFAIL for LP64 IA64
HP-UX.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/ia64/hpux.h
trunk/gcc/config/ia64/ia64.c
trunk/gcc/doc/tm.texi
trunk/gcc/libgcc2.c
trunk/gcc/libgcc2.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25028