From 27735edb45fb125258ca38ca12ebab88deb9833b Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 16 May 2007 19:07:07 +0200 Subject: README: Update for new files. * soft-fp/README: Update for new files. * soft-fp/floattisf.c: New file. * soft-fp/floattidf.c: New file. * soft-fp/floattitf.c: New file. * soft-fp/floatuntisf.c: New file. * soft-fp/floatuntidf.c: New file. * soft-fp/floatuntitf.c: New file. * soft-fp/fixsfti.c: New file. * soft-fp/fixdfti.c: New file. * soft-fp/fixtfti.c: New file. * soft-fp/fixunssfti.c: New file. * soft-fp/fixunsdfti.c: New file. * soft-fp/fixunstfti.c: New file. * soft-fp/extendxftf.c: New file. * soft-fp/trunctfxf.c: New file. * libgcc-std.ver (__extendxftf2): Added to GCC_4.3.0 section. (__trunctfxf2): Ditto. * config/i386/libgcc-x86_64-glibc.ver (__addtf3, __divtf3, __eqtf2, __extenddftf2, __extendsftf2, __fixtfdi, __fixtfsi, __fixtfti, __fixunstfdi, __fixunstfsi, __fixunstfti, __floatditf, __floatsitf, __floattitf, __floatunditf, __floatunsitf, __floatuntitf, __getf2, __letf2, __multf3, __negtf2, __subtf3, __trunctfdf2, __trunctfsf2, __unordtf2): Exclude and add to GCC_4.3.0 section for x86_64 targets. * config/i386/t-fprules-softfp64: New file. * config/i386/sfp-machine.h: New file. * config.gcc (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Add i386/t-fprules-softfp64 and soft-fp/t-softfp to tmake_file. (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all. * config/i386/t-linux64 (softfp_wrap_start): New. (softfp_wrap_end): New. * config/i386/i386.c (ix86_scalar_mode_supported): TFmode is supported for TARGET_64BIT. testsuite/ChangeLog: * gcc.dg/torture/fp-int-convert-float128.c: Do not xfail for i?86-*-* and x86_64-*-* targets. * gcc.dg/torture/fp-int-convert-float128-timode.c: Ditto. From-SVN: r124775 --- gcc/config/soft-fp/fixunstfti.c | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 gcc/config/soft-fp/fixunstfti.c (limited to 'gcc/config/soft-fp/fixunstfti.c') diff --git a/gcc/config/soft-fp/fixunstfti.c b/gcc/config/soft-fp/fixunstfti.c new file mode 100644 index 0000000..f62bd50 --- /dev/null +++ b/gcc/config/soft-fp/fixunstfti.c @@ -0,0 +1,45 @@ +/* Software floating-point emulation. + Convert IEEE quad to 128bit unsigned integer + Copyright (C) 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Uros Bizjak (ubizjak@gmail.com). + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "soft-fp.h" +#include "quad.h" + +UTItype __fixunstfti(TFtype a) +{ + FP_DECL_EX; + FP_DECL_Q(A); + UTItype r; + + FP_UNPACK_RAW_Q(A, a); + FP_TO_INT_Q(r, A, TI_BITS, 0); + FP_HANDLE_EXCEPTIONS; + + return r; +} -- cgit v1.1