OSDN Git Service

PR other/25028
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 2005 21:50:10 +0000 (21:50 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 2005 21:50:10 +0000 (21:50 +0000)
commit3212edfa491e970255dd03c6991c868399c7be1d
tree103ac80216ebf4fcc51f100555eacea1fd58a30f
parentd98001e90dbc502e76c41b47fa90cfc6da1cfe93
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108598 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/ia64/hpux.h
gcc/config/ia64/ia64.c
gcc/doc/tm.texi
gcc/libgcc2.c
gcc/libgcc2.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c