[Bug other/25028] TImode-to-floating conversions broken
jsm28 at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Dec 15 21:50:00 GMT 2005
------- 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
More information about the Gcc-bugs
mailing list