mirror of git://gcc.gnu.org/git/gcc.git
re PR other/53317 (Conversion from __int128 to __float128)
PR other/53317 gcc/testsuite: * gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test. libgcc: * soft-fp/adddf3.c: Update from glibc. * soft-fp/addsf3.c: Likewise. * soft-fp/addtf3.c: Likewise. * soft-fp/divdf3.c: Likewise. * soft-fp/divsf3.c: Likewise. * soft-fp/divtf3.c: Likewise. * soft-fp/double.h: Likewise. * soft-fp/eqdf2.c: Likewise. * soft-fp/eqsf2.c: Likewise. * soft-fp/eqtf2.c: Likewise. * soft-fp/extenddftf2.c: Likewise. * soft-fp/extended.h: Likewise. * soft-fp/extendsfdf2.c: Likewise. * soft-fp/extendsftf2.c: Likewise. * soft-fp/fixdfdi.c: Likewise. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * soft-fp/fixunsdfdi.c: Likewise. * soft-fp/fixunsdfsi.c: Likewise. * soft-fp/fixunssfdi.c: Likewise. * soft-fp/fixunssfsi.c: Likewise. * soft-fp/fixunstfdi.c: Likewise. * soft-fp/fixunstfsi.c: Likewise. * soft-fp/floatdidf.c: Likewise. * soft-fp/floatdisf.c: Likewise. * soft-fp/floatditf.c: Likewise. * soft-fp/floatsidf.c: Likewise. * soft-fp/floatsisf.c: Likewise. * soft-fp/floatsitf.c: Likewise. * soft-fp/floatundidf.c: Likewise. * soft-fp/floatundisf.c: Likewise. * soft-fp/floatunditf.c: Likewise. * soft-fp/floatunsidf.c: Likewise. * soft-fp/floatunsisf.c: Likewise. * soft-fp/floatunsitf.c: Likewise. * soft-fp/gedf2.c: Likewise. * soft-fp/gesf2.c: Likewise. * soft-fp/getf2.c: Likewise. * soft-fp/ledf2.c: Likewise. * soft-fp/lesf2.c: Likewise. * soft-fp/letf2.c: Likewise. * soft-fp/muldf3.c: Likewise. * soft-fp/mulsf3.c: Likewise. * soft-fp/multf3.c: Likewise. * soft-fp/negdf2.c: Likewise. * soft-fp/negsf2.c: Likewise. * soft-fp/negtf2.c: Likewise. * soft-fp/op-1.h: Likewise. * soft-fp/op-2.h: Likewise. * soft-fp/op-4.h: Likewise. * soft-fp/op-8.h: Likewise. * soft-fp/op-common.h: Likewise. * soft-fp/quad.h: Likewise. * soft-fp/single.h: Likewise. * soft-fp/soft-fp.h: Likewise. * soft-fp/subdf3.c: Likewise. * soft-fp/subsf3.c: Likewise. * soft-fp/subtf3.c: Likewise. * soft-fp/truncdfsf2.c: Likewise. * soft-fp/trunctfdf2.c: Likewise. * soft-fp/trunctfsf2.c: Likewise. * soft-fp/unorddf2.c: Likewise. * soft-fp/unordsf2.c: Likewise. * soft-fp/unordtf2.c: Likewise. * config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0. * config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. * config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise. * config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise. * config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise. From-SVN: r200318
This commit is contained in:
parent
2b4171c331
commit
fa1e55b0a0
|
|
@ -1,3 +1,8 @@
|
||||||
|
2013-06-21 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/53317
|
||||||
|
* gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test.
|
||||||
|
|
||||||
2013-06-20 Uros Bizjak <ubizjak@gmail.com>
|
2013-06-20 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
PR target/57655
|
PR target/57655
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
/* Test floating-point conversions. __float128 type with TImode: bug
|
||||||
|
53317. */
|
||||||
|
/* Origin: Joseph Myers <joseph@codesourcery.com> */
|
||||||
|
/* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* } } */
|
||||||
|
/* { dg-require-effective-target int128 } */
|
||||||
|
/* { dg-options "" } */
|
||||||
|
|
||||||
|
extern void abort (void);
|
||||||
|
extern void exit (int);
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
volatile unsigned long long a = 0x1000000000000ULL;
|
||||||
|
volatile unsigned long long b = 0xffffffffffffffffULL;
|
||||||
|
unsigned __int128 c = (((unsigned __int128) a) << 64) | b;
|
||||||
|
__float128 d = c;
|
||||||
|
if (d != 0x1.000000000000ffffffffffffffffp112q)
|
||||||
|
abort ();
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
|
@ -1,3 +1,86 @@
|
||||||
|
2013-06-21 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/53317
|
||||||
|
* soft-fp/adddf3.c: Update from glibc.
|
||||||
|
* soft-fp/addsf3.c: Likewise.
|
||||||
|
* soft-fp/addtf3.c: Likewise.
|
||||||
|
* soft-fp/divdf3.c: Likewise.
|
||||||
|
* soft-fp/divsf3.c: Likewise.
|
||||||
|
* soft-fp/divtf3.c: Likewise.
|
||||||
|
* soft-fp/double.h: Likewise.
|
||||||
|
* soft-fp/eqdf2.c: Likewise.
|
||||||
|
* soft-fp/eqsf2.c: Likewise.
|
||||||
|
* soft-fp/eqtf2.c: Likewise.
|
||||||
|
* soft-fp/extenddftf2.c: Likewise.
|
||||||
|
* soft-fp/extended.h: Likewise.
|
||||||
|
* soft-fp/extendsfdf2.c: Likewise.
|
||||||
|
* soft-fp/extendsftf2.c: Likewise.
|
||||||
|
* soft-fp/fixdfdi.c: Likewise.
|
||||||
|
* soft-fp/fixdfsi.c: Likewise.
|
||||||
|
* soft-fp/fixsfdi.c: Likewise.
|
||||||
|
* soft-fp/fixsfsi.c: Likewise.
|
||||||
|
* soft-fp/fixtfdi.c: Likewise.
|
||||||
|
* soft-fp/fixtfsi.c: Likewise.
|
||||||
|
* soft-fp/fixunsdfdi.c: Likewise.
|
||||||
|
* soft-fp/fixunsdfsi.c: Likewise.
|
||||||
|
* soft-fp/fixunssfdi.c: Likewise.
|
||||||
|
* soft-fp/fixunssfsi.c: Likewise.
|
||||||
|
* soft-fp/fixunstfdi.c: Likewise.
|
||||||
|
* soft-fp/fixunstfsi.c: Likewise.
|
||||||
|
* soft-fp/floatdidf.c: Likewise.
|
||||||
|
* soft-fp/floatdisf.c: Likewise.
|
||||||
|
* soft-fp/floatditf.c: Likewise.
|
||||||
|
* soft-fp/floatsidf.c: Likewise.
|
||||||
|
* soft-fp/floatsisf.c: Likewise.
|
||||||
|
* soft-fp/floatsitf.c: Likewise.
|
||||||
|
* soft-fp/floatundidf.c: Likewise.
|
||||||
|
* soft-fp/floatundisf.c: Likewise.
|
||||||
|
* soft-fp/floatunditf.c: Likewise.
|
||||||
|
* soft-fp/floatunsidf.c: Likewise.
|
||||||
|
* soft-fp/floatunsisf.c: Likewise.
|
||||||
|
* soft-fp/floatunsitf.c: Likewise.
|
||||||
|
* soft-fp/gedf2.c: Likewise.
|
||||||
|
* soft-fp/gesf2.c: Likewise.
|
||||||
|
* soft-fp/getf2.c: Likewise.
|
||||||
|
* soft-fp/ledf2.c: Likewise.
|
||||||
|
* soft-fp/lesf2.c: Likewise.
|
||||||
|
* soft-fp/letf2.c: Likewise.
|
||||||
|
* soft-fp/muldf3.c: Likewise.
|
||||||
|
* soft-fp/mulsf3.c: Likewise.
|
||||||
|
* soft-fp/multf3.c: Likewise.
|
||||||
|
* soft-fp/negdf2.c: Likewise.
|
||||||
|
* soft-fp/negsf2.c: Likewise.
|
||||||
|
* soft-fp/negtf2.c: Likewise.
|
||||||
|
* soft-fp/op-1.h: Likewise.
|
||||||
|
* soft-fp/op-2.h: Likewise.
|
||||||
|
* soft-fp/op-4.h: Likewise.
|
||||||
|
* soft-fp/op-8.h: Likewise.
|
||||||
|
* soft-fp/op-common.h: Likewise.
|
||||||
|
* soft-fp/quad.h: Likewise.
|
||||||
|
* soft-fp/single.h: Likewise.
|
||||||
|
* soft-fp/soft-fp.h: Likewise.
|
||||||
|
* soft-fp/subdf3.c: Likewise.
|
||||||
|
* soft-fp/subsf3.c: Likewise.
|
||||||
|
* soft-fp/subtf3.c: Likewise.
|
||||||
|
* soft-fp/truncdfsf2.c: Likewise.
|
||||||
|
* soft-fp/trunctfdf2.c: Likewise.
|
||||||
|
* soft-fp/trunctfsf2.c: Likewise.
|
||||||
|
* soft-fp/unorddf2.c: Likewise.
|
||||||
|
* soft-fp/unordsf2.c: Likewise.
|
||||||
|
* soft-fp/unordtf2.c: Likewise.
|
||||||
|
* config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0.
|
||||||
|
* config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
* config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
|
||||||
|
|
||||||
2013-06-16 Jürgen Urban <JuergenUrban@gmx.de>
|
2013-06-16 Jürgen Urban <JuergenUrban@gmx.de>
|
||||||
|
|
||||||
* config/mips/lib2funcs.c: New file.
|
* config/mips/lib2funcs.c: New file.
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* This appears to be in line with the VFP conventions in the v7-a
|
/* This appears to be in line with the VFP conventions in the v7-a
|
||||||
ARM-ARM. Need to check with the v8 version. */
|
ARM-ARM. Need to check with the v8 version. */
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* Someone please check this. */
|
/* Someone please check this. */
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* Someone please check this. */
|
/* Someone please check this. */
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
#define _FP_NANSIGN_S 1
|
#define _FP_NANSIGN_S 1
|
||||||
#define _FP_NANSIGN_D 1
|
#define _FP_NANSIGN_D 1
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0
|
#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
#define _FP_NANSIGN_S 1
|
#define _FP_NANSIGN_S 1
|
||||||
#define _FP_NANSIGN_D 1
|
#define _FP_NANSIGN_D 1
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* Someone please check this. */
|
/* Someone please check this. */
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* Someone please check this. */
|
/* Someone please check this. */
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* Someone please check this. */
|
/* Someone please check this. */
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 0
|
#define _FP_NANSIGN_Q 0
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
/* Someone please check this. */
|
/* Someone please check this. */
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 1
|
#define _FP_NANSIGN_Q 1
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
do { \
|
do { \
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 1
|
#define _FP_NANSIGN_Q 1
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
do { \
|
do { \
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
|
||||||
#define _FP_NANSIGN_Q 1
|
#define _FP_NANSIGN_Q 1
|
||||||
|
|
||||||
#define _FP_KEEPNANFRACP 1
|
#define _FP_KEEPNANFRACP 1
|
||||||
|
#define _FP_QNANNEGATEDP 0
|
||||||
|
|
||||||
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
|
||||||
do { \
|
do { \
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a + b
|
Return a + b
|
||||||
Copyright (C) 1997,1999, 2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a + b
|
Return a + b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a + b
|
Return a + b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a / b
|
Return a / b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a / b
|
Return a / b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a / b
|
Return a / b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Definitions for IEEE Double Precision
|
Definitions for IEEE Double Precision
|
||||||
Copyright (C) 1997, 1998, 1999, 2006, 2007, 2008, 2009, 2012
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 otherwise
|
Return 0 iff a == b, 1 otherwise
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 otherwise
|
Return 0 iff a == b, 1 otherwise
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 otherwise
|
Return 0 iff a == b, 1 otherwise
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a converted to IEEE quad
|
Return a converted to IEEE quad
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Definitions for IEEE Extended Precision.
|
Definitions for IEEE Extended Precision.
|
||||||
Copyright (C) 1999,2006,2007,2012 Free Software Foundation, Inc.
|
Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
|
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
||||||
|
|
@ -203,7 +203,7 @@ union _FP_UNION_E
|
||||||
* anyway, we optimize it by doing most of the calculations
|
* anyway, we optimize it by doing most of the calculations
|
||||||
* in two UWtype registers instead of four.
|
* in two UWtype registers instead of four.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _FP_SQRT_MEAT_E(R, S, T, X, q) \
|
#define _FP_SQRT_MEAT_E(R, S, T, X, q) \
|
||||||
do { \
|
do { \
|
||||||
q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \
|
q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \
|
||||||
|
|
@ -416,7 +416,7 @@ union _FP_UNION_E
|
||||||
R##_f0 |= _FP_WORK_STICKY; \
|
R##_f0 |= _FP_WORK_STICKY; \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define FP_CMP_E(r,X,Y,un) _FP_CMP(E,2,r,X,Y,un)
|
#define FP_CMP_E(r,X,Y,un) _FP_CMP(E,2,r,X,Y,un)
|
||||||
#define FP_CMP_EQ_E(r,X,Y) _FP_CMP_EQ(E,2,r,X,Y)
|
#define FP_CMP_EQ_E(r,X,Y) _FP_CMP_EQ(E,2,r,X,Y)
|
||||||
#define FP_CMP_UNORD_E(r,X,Y) _FP_CMP_UNORD(E,2,r,X,Y)
|
#define FP_CMP_UNORD_E(r,X,Y) _FP_CMP_UNORD(E,2,r,X,Y)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a converted to IEEE double
|
Return a converted to IEEE double
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a converted to IEEE quad
|
Return a converted to IEEE quad
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 64bit signed integer
|
Convert a to 64bit signed integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 32bit signed integer
|
Convert a to 32bit signed integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 64bit signed integer
|
Convert a to 64bit signed integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 32bit signed integer
|
Convert a to 32bit signed integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 64bit signed integer
|
Convert a to 64bit signed integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 32bit signed integer
|
Convert a to 32bit signed integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 64bit unsigned integer
|
Convert a to 64bit unsigned integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 32bit unsigned integer
|
Convert a to 32bit unsigned integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 64bit unsigned integer
|
Convert a to 64bit unsigned integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 32bit unsigned integer
|
Convert a to 32bit unsigned integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 64bit unsigned integer
|
Convert a to 64bit unsigned integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a to 32bit unsigned integer
|
Convert a to 32bit unsigned integer
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 64bit signed integer to IEEE double
|
Convert a 64bit signed integer to IEEE double
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 64bit signed integer to IEEE single
|
Convert a 64bit signed integer to IEEE single
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 64bit signed integer to IEEE quad
|
Convert a 64bit signed integer to IEEE quad
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 32bit signed integer to IEEE double
|
Convert a 32bit signed integer to IEEE double
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 32bit signed integer to IEEE single
|
Convert a 32bit signed integer to IEEE single
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 32bit signed integer to IEEE quad
|
Convert a 32bit signed integer to IEEE quad
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 64bit unsigned integer to IEEE double
|
Convert a 64bit unsigned integer to IEEE double
|
||||||
Copyright (C) 1997, 1999, 2006, 2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 64bit unsigned integer to IEEE single
|
Convert a 64bit unsigned integer to IEEE single
|
||||||
Copyright (C) 1997, 1999, 2006, 2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 64bit unsigned integer to IEEE quad
|
Convert a 64bit unsigned integer to IEEE quad
|
||||||
Copyright (C) 1997,1999, 2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 32bit unsigned integer to IEEE double
|
Convert a 32bit unsigned integer to IEEE double
|
||||||
Copyright (C) 1997, 1999, 2006, 2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 32bit unsigned integer to IEEE single
|
Convert a 32bit unsigned integer to IEEE single
|
||||||
Copyright (C) 1997, 1999, 2006, 2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Convert a 32bit unsigned integer to IEEE quad
|
Convert a 32bit unsigned integer to IEEE quad
|
||||||
Copyright (C) 1997,1999, 2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
|
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
|
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
|
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
|
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
|
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
|
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
|
||||||
Copyright (C) 1997,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a * b
|
Return a * b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a * b
|
Return a * b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a * b
|
Return a * b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return -a
|
Return -a
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return -a
|
Return -a
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return -a
|
Return -a
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Basic one-word fraction declaration and manipulation.
|
Basic one-word fraction declaration and manipulation.
|
||||||
Copyright (C) 1997,1998,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
@ -233,7 +233,7 @@ do { \
|
||||||
_nl = X##_f << (_FP_W_TYPE_SIZE - 1); \
|
_nl = X##_f << (_FP_W_TYPE_SIZE - 1); \
|
||||||
_nh = X##_f >> 1; \
|
_nh = X##_f >> 1; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
udiv_qrnnd(_q, _r, _nh, _nl, _y); \
|
udiv_qrnnd(_q, _r, _nh, _nl, _y); \
|
||||||
R##_f = _q | (_r != 0); \
|
R##_f = _q | (_r != 0); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
@ -255,14 +255,14 @@ do { \
|
||||||
udiv_qrnnd(_q, _r, _nh, _nl, Y##_f); \
|
udiv_qrnnd(_q, _r, _nh, _nl, Y##_f); \
|
||||||
R##_f = _q | (_r != 0); \
|
R##_f = _q | (_r != 0); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Square root algorithms:
|
* Square root algorithms:
|
||||||
* We have just one right now, maybe Newton approximation
|
* We have just one right now, maybe Newton approximation
|
||||||
* should be added for those machines where division is fast.
|
* should be added for those machines where division is fast.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _FP_SQRT_MEAT_1(R, S, T, X, q) \
|
#define _FP_SQRT_MEAT_1(R, S, T, X, q) \
|
||||||
do { \
|
do { \
|
||||||
while (q != _FP_WORK_ROUND) \
|
while (q != _FP_WORK_ROUND) \
|
||||||
|
|
@ -286,7 +286,7 @@ do { \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Assembly/disassembly for converting to/from integral types.
|
* Assembly/disassembly for converting to/from integral types.
|
||||||
* No shifting or overflow handled here.
|
* No shifting or overflow handled here.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Basic two-word fraction declaration and manipulation.
|
Basic two-word fraction declaration and manipulation.
|
||||||
Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
@ -145,7 +145,7 @@
|
||||||
#define _FP_MAXFRAC_2 (~(_FP_WS_TYPE)0), (~(_FP_WS_TYPE)0)
|
#define _FP_MAXFRAC_2 (~(_FP_WS_TYPE)0), (~(_FP_WS_TYPE)0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Internals
|
* Internals
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define __FP_FRAC_SET_2(X,I1,I0) (X##_f0 = I0, X##_f1 = I1)
|
#define __FP_FRAC_SET_2(X,I1,I0) (X##_f0 = I0, X##_f1 = I1)
|
||||||
|
|
@ -348,7 +348,7 @@
|
||||||
point multiplication. This is useful if floating point
|
point multiplication. This is useful if floating point
|
||||||
multiplication has much bigger throughput than integer multiply.
|
multiplication has much bigger throughput than integer multiply.
|
||||||
It is supposed to work for _FP_W_TYPE_SIZE 64 and wfracbits
|
It is supposed to work for _FP_W_TYPE_SIZE 64 and wfracbits
|
||||||
between 106 and 120 only.
|
between 106 and 120 only.
|
||||||
Caller guarantees that X and Y has (1LLL << (wfracbits - 1)) set.
|
Caller guarantees that X and Y has (1LLL << (wfracbits - 1)) set.
|
||||||
SETFETZ is a macro which will disable all FPU exceptions and set rounding
|
SETFETZ is a macro which will disable all FPU exceptions and set rounding
|
||||||
towards zero, RESETFE should optionally reset it back. */
|
towards zero, RESETFE should optionally reset it back. */
|
||||||
|
|
@ -433,10 +433,10 @@
|
||||||
R##_f1 = (_t240 << (128 - (wfracbits - 1))) \
|
R##_f1 = (_t240 << (128 - (wfracbits - 1))) \
|
||||||
| ((_u240 & 0xffffff) >> ((wfracbits - 1) - 104)); \
|
| ((_u240 & 0xffffff) >> ((wfracbits - 1) - 104)); \
|
||||||
R##_f0 = ((_u240 & 0xffffff) << (168 - (wfracbits - 1))) \
|
R##_f0 = ((_u240 & 0xffffff) << (168 - (wfracbits - 1))) \
|
||||||
| ((_v240 & 0xffffff) << (144 - (wfracbits - 1))) \
|
| ((_v240 & 0xffffff) << (144 - (wfracbits - 1))) \
|
||||||
| ((_w240 & 0xffffff) << (120 - (wfracbits - 1))) \
|
| ((_w240 & 0xffffff) << (120 - (wfracbits - 1))) \
|
||||||
| ((_x240 & 0xffffff) >> ((wfracbits - 1) - 96)) \
|
| ((_x240 & 0xffffff) >> ((wfracbits - 1) - 96)) \
|
||||||
| _y240; \
|
| _y240; \
|
||||||
resetfe; \
|
resetfe; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
@ -544,7 +544,7 @@
|
||||||
* We have just one right now, maybe Newton approximation
|
* We have just one right now, maybe Newton approximation
|
||||||
* should be added for those machines where division is fast.
|
* should be added for those machines where division is fast.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _FP_SQRT_MEAT_2(R, S, T, X, q) \
|
#define _FP_SQRT_MEAT_2(R, S, T, X, q) \
|
||||||
do { \
|
do { \
|
||||||
while (q) \
|
while (q) \
|
||||||
|
|
@ -586,7 +586,7 @@
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Assembly/disassembly for converting to/from integral types.
|
* Assembly/disassembly for converting to/from integral types.
|
||||||
* No shifting or overflow handled here.
|
* No shifting or overflow handled here.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Basic four-word fraction declaration and manipulation.
|
Basic four-word fraction declaration and manipulation.
|
||||||
Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
/* Right shift with sticky-lsb.
|
/* Right shift with sticky-lsb.
|
||||||
* What this actually means is that we do a standard right-shift,
|
* What this actually means is that we do a standard right-shift,
|
||||||
* but that if any of the bits that fall off the right hand side
|
* but that if any of the bits that fall off the right hand side
|
||||||
* were one then we always set the LSbit.
|
* were one then we always set the LSbit.
|
||||||
|
|
@ -435,7 +435,7 @@
|
||||||
* We have just one right now, maybe Newton approximation
|
* We have just one right now, maybe Newton approximation
|
||||||
* should be added for those machines where division is fast.
|
* should be added for those machines where division is fast.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _FP_SQRT_MEAT_4(R, S, T, X, q) \
|
#define _FP_SQRT_MEAT_4(R, S, T, X, q) \
|
||||||
do { \
|
do { \
|
||||||
while (q) \
|
while (q) \
|
||||||
|
|
@ -481,7 +481,7 @@
|
||||||
S##_f[2] += (T##_f[1] > S##_f[1]); \
|
S##_f[2] += (T##_f[1] > S##_f[1]); \
|
||||||
S##_f[3] += (T##_f[2] > S##_f[2]); \
|
S##_f[3] += (T##_f[2] > S##_f[2]); \
|
||||||
__FP_FRAC_DEC_3(X##_f[3], X##_f[2], X##_f[1], \
|
__FP_FRAC_DEC_3(X##_f[3], X##_f[2], X##_f[1], \
|
||||||
T##_f[3], T##_f[2], T##_f[1]); \
|
T##_f[3], T##_f[2], T##_f[1]); \
|
||||||
R##_f[1] += q; \
|
R##_f[1] += q; \
|
||||||
} \
|
} \
|
||||||
_FP_FRAC_SLL_4(X, 1); \
|
_FP_FRAC_SLL_4(X, 1); \
|
||||||
|
|
@ -516,7 +516,7 @@
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Internals
|
* Internals
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define __FP_FRAC_SET_4(X,I3,I2,I1,I0) \
|
#define __FP_FRAC_SET_4(X,I3,I2,I1,I0) \
|
||||||
|
|
@ -618,9 +618,9 @@
|
||||||
/* Convert FP values between word sizes. This appears to be more
|
/* Convert FP values between word sizes. This appears to be more
|
||||||
* complicated than I'd have expected it to be, so these might be
|
* complicated than I'd have expected it to be, so these might be
|
||||||
* wrong... These macros are in any case somewhat bogus because they
|
* wrong... These macros are in any case somewhat bogus because they
|
||||||
* use information about what various FRAC_n variables look like
|
* use information about what various FRAC_n variables look like
|
||||||
* internally [eg, that 2 word vars are X_f0 and x_f1]. But so do
|
* internally [eg, that 2 word vars are X_f0 and x_f1]. But so do
|
||||||
* the ones in op-2.h and op-1.h.
|
* the ones in op-2.h and op-1.h.
|
||||||
*/
|
*/
|
||||||
#define _FP_FRAC_COPY_1_4(D, S) (D##_f = S##_f[0])
|
#define _FP_FRAC_COPY_1_4(D, S) (D##_f = S##_f[0])
|
||||||
|
|
||||||
|
|
@ -630,7 +630,7 @@ do { \
|
||||||
D##_f1 = S##_f[1]; \
|
D##_f1 = S##_f[1]; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* Assembly/disassembly for converting to/from integral types.
|
/* Assembly/disassembly for converting to/from integral types.
|
||||||
* No shifting or overflow handled here.
|
* No shifting or overflow handled here.
|
||||||
*/
|
*/
|
||||||
/* Put the FP value X into r, which is an integer of size rsize. */
|
/* Put the FP value X into r, which is an integer of size rsize. */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Basic eight-word fraction declaration and manipulation.
|
Basic eight-word fraction declaration and manipulation.
|
||||||
Copyright (C) 1997,1998,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz) and
|
Jakub Jelinek (jj@ultra.linux.cz) and
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
/* Right shift with sticky-lsb.
|
/* Right shift with sticky-lsb.
|
||||||
* What this actually means is that we do a standard right-shift,
|
* What this actually means is that we do a standard right-shift,
|
||||||
* but that if any of the bits that fall off the right hand side
|
* but that if any of the bits that fall off the right hand side
|
||||||
* were one then we always set the LSbit.
|
* were one then we always set the LSbit.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Software floating-point emulation. Common operations.
|
/* Software floating-point emulation. Common operations.
|
||||||
Copyright (C) 1997,1998,1999,2006,2007,2012 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
@ -29,10 +29,22 @@
|
||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#define _FP_DECL(wc, X) \
|
#define _FP_DECL(wc, X) \
|
||||||
_FP_I_TYPE X##_c __attribute__((unused)), X##_s, X##_e; \
|
_FP_I_TYPE X##_c __attribute__((unused)); \
|
||||||
|
_FP_I_TYPE X##_s __attribute__((unused)); \
|
||||||
|
_FP_I_TYPE X##_e; \
|
||||||
_FP_FRAC_DECL_##wc(X)
|
_FP_FRAC_DECL_##wc(X)
|
||||||
|
|
||||||
|
/* Test whether the qNaN bit denotes a signaling NaN. */
|
||||||
|
#define _FP_FRAC_SNANP(fs, X) \
|
||||||
|
((_FP_QNANNEGATEDP) \
|
||||||
|
? (_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
|
||||||
|
: !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs))
|
||||||
|
#define _FP_FRAC_SNANP_SEMIRAW(fs, X) \
|
||||||
|
((_FP_QNANNEGATEDP) \
|
||||||
|
? (_FP_FRAC_HIGH_##fs(X) & _FP_QNANBIT_SH_##fs) \
|
||||||
|
: !(_FP_FRAC_HIGH_##fs(X) & _FP_QNANBIT_SH_##fs))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Finish truely unpacking a native fp value by classifying the kind
|
* Finish truely unpacking a native fp value by classifying the kind
|
||||||
* of fp value and normalizing both the exponent and the fraction.
|
* of fp value and normalizing both the exponent and the fraction.
|
||||||
|
|
@ -72,7 +84,7 @@ do { \
|
||||||
{ \
|
{ \
|
||||||
X##_c = FP_CLS_NAN; \
|
X##_c = FP_CLS_NAN; \
|
||||||
/* Check for signaling NaN */ \
|
/* Check for signaling NaN */ \
|
||||||
if (!(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
|
if (_FP_FRAC_SNANP(fs, X)) \
|
||||||
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
||||||
} \
|
} \
|
||||||
break; \
|
break; \
|
||||||
|
|
@ -110,7 +122,7 @@ do { \
|
||||||
do { \
|
do { \
|
||||||
if (X##_e == _FP_EXPMAX_##fs \
|
if (X##_e == _FP_EXPMAX_##fs \
|
||||||
&& !_FP_FRAC_ZEROP_##wc(X) \
|
&& !_FP_FRAC_ZEROP_##wc(X) \
|
||||||
&& !(_FP_FRAC_HIGH_##fs(X) & _FP_QNANBIT_SH_##fs)) \
|
&& _FP_FRAC_SNANP_SEMIRAW(fs, X)) \
|
||||||
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
@ -125,6 +137,39 @@ do { \
|
||||||
_FP_FRAC_SLL_##wc(R, _FP_WORKBITS); \
|
_FP_FRAC_SLL_##wc(R, _FP_WORKBITS); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
/* Make the fractional part a quiet NaN, preserving the payload
|
||||||
|
if possible, otherwise make it the canonical quiet NaN and set
|
||||||
|
the sign bit accordingly. */
|
||||||
|
#define _FP_SETQNAN(fs, wc, X) \
|
||||||
|
do { \
|
||||||
|
if (_FP_QNANNEGATEDP) \
|
||||||
|
{ \
|
||||||
|
_FP_FRAC_HIGH_RAW_##fs(X) &= _FP_QNANBIT_##fs - 1; \
|
||||||
|
if (_FP_FRAC_ZEROP_##wc(X)) \
|
||||||
|
{ \
|
||||||
|
X##_s = _FP_NANSIGN_##fs; \
|
||||||
|
_FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
_FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
|
||||||
|
} while (0)
|
||||||
|
#define _FP_SETQNAN_SEMIRAW(fs, wc, X) \
|
||||||
|
do { \
|
||||||
|
if (_FP_QNANNEGATEDP) \
|
||||||
|
{ \
|
||||||
|
_FP_FRAC_HIGH_##fs(X) &= _FP_QNANBIT_SH_##fs - 1; \
|
||||||
|
if (_FP_FRAC_ZEROP_##wc(X)) \
|
||||||
|
{ \
|
||||||
|
X##_s = _FP_NANSIGN_##fs; \
|
||||||
|
_FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
|
||||||
|
_FP_FRAC_SLL_##wc(X, _FP_WORKBITS); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
_FP_FRAC_HIGH_##fs(X) |= _FP_QNANBIT_SH_##fs; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/* Test whether a biased exponent is normal (not zero or maximum). */
|
/* Test whether a biased exponent is normal (not zero or maximum). */
|
||||||
#define _FP_EXP_NORMAL(fs, wc, X) (((X##_e + 1) & _FP_EXPMAX_##fs) > 1)
|
#define _FP_EXP_NORMAL(fs, wc, X) (((X##_e + 1) & _FP_EXPMAX_##fs) > 1)
|
||||||
|
|
||||||
|
|
@ -157,7 +202,7 @@ do { \
|
||||||
X##_s = _FP_NANSIGN_##fs; \
|
X##_s = _FP_NANSIGN_##fs; \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
_FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
|
_FP_SETQNAN(fs, wc, X); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
@ -271,7 +316,7 @@ do { \
|
||||||
X##_s = _FP_NANSIGN_##fs; \
|
X##_s = _FP_NANSIGN_##fs; \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
_FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
|
_FP_SETQNAN(fs, wc, X); \
|
||||||
break; \
|
break; \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
@ -285,7 +330,7 @@ do { \
|
||||||
if (X##_e == _FP_EXPMAX_##fs) \
|
if (X##_e == _FP_EXPMAX_##fs) \
|
||||||
{ \
|
{ \
|
||||||
if (!_FP_FRAC_ZEROP_##wc(X) \
|
if (!_FP_FRAC_ZEROP_##wc(X) \
|
||||||
&& !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
|
&& _FP_FRAC_SNANP(fs, X)) \
|
||||||
__ret = 1; \
|
__ret = 1; \
|
||||||
} \
|
} \
|
||||||
__ret; \
|
__ret; \
|
||||||
|
|
@ -746,11 +791,11 @@ do { \
|
||||||
#define _FP_MUL(fs, wc, R, X, Y) \
|
#define _FP_MUL(fs, wc, R, X, Y) \
|
||||||
do { \
|
do { \
|
||||||
R##_s = X##_s ^ Y##_s; \
|
R##_s = X##_s ^ Y##_s; \
|
||||||
|
R##_e = X##_e + Y##_e + 1; \
|
||||||
switch (_FP_CLS_COMBINE(X##_c, Y##_c)) \
|
switch (_FP_CLS_COMBINE(X##_c, Y##_c)) \
|
||||||
{ \
|
{ \
|
||||||
case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_NORMAL): \
|
case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_NORMAL): \
|
||||||
R##_c = FP_CLS_NORMAL; \
|
R##_c = FP_CLS_NORMAL; \
|
||||||
R##_e = X##_e + Y##_e + 1; \
|
|
||||||
\
|
\
|
||||||
_FP_MUL_MEAT_##fs(R,X,Y); \
|
_FP_MUL_MEAT_##fs(R,X,Y); \
|
||||||
\
|
\
|
||||||
|
|
@ -809,11 +854,11 @@ do { \
|
||||||
#define _FP_DIV(fs, wc, R, X, Y) \
|
#define _FP_DIV(fs, wc, R, X, Y) \
|
||||||
do { \
|
do { \
|
||||||
R##_s = X##_s ^ Y##_s; \
|
R##_s = X##_s ^ Y##_s; \
|
||||||
|
R##_e = X##_e - Y##_e; \
|
||||||
switch (_FP_CLS_COMBINE(X##_c, Y##_c)) \
|
switch (_FP_CLS_COMBINE(X##_c, Y##_c)) \
|
||||||
{ \
|
{ \
|
||||||
case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_NORMAL): \
|
case _FP_CLS_COMBINE(FP_CLS_NORMAL,FP_CLS_NORMAL): \
|
||||||
R##_c = FP_CLS_NORMAL; \
|
R##_c = FP_CLS_NORMAL; \
|
||||||
R##_e = X##_e - Y##_e; \
|
|
||||||
\
|
\
|
||||||
_FP_DIV_MEAT_##fs(R,X,Y); \
|
_FP_DIV_MEAT_##fs(R,X,Y); \
|
||||||
break; \
|
break; \
|
||||||
|
|
@ -947,37 +992,37 @@ do { \
|
||||||
case FP_CLS_NAN: \
|
case FP_CLS_NAN: \
|
||||||
_FP_FRAC_COPY_##wc(R, X); \
|
_FP_FRAC_COPY_##wc(R, X); \
|
||||||
R##_s = X##_s; \
|
R##_s = X##_s; \
|
||||||
R##_c = FP_CLS_NAN; \
|
R##_c = FP_CLS_NAN; \
|
||||||
break; \
|
break; \
|
||||||
case FP_CLS_INF: \
|
case FP_CLS_INF: \
|
||||||
if (X##_s) \
|
if (X##_s) \
|
||||||
{ \
|
{ \
|
||||||
R##_s = _FP_NANSIGN_##fs; \
|
R##_s = _FP_NANSIGN_##fs; \
|
||||||
R##_c = FP_CLS_NAN; /* NAN */ \
|
R##_c = FP_CLS_NAN; /* NAN */ \
|
||||||
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
|
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
|
||||||
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
{ \
|
{ \
|
||||||
R##_s = 0; \
|
R##_s = 0; \
|
||||||
R##_c = FP_CLS_INF; /* sqrt(+inf) = +inf */ \
|
R##_c = FP_CLS_INF; /* sqrt(+inf) = +inf */ \
|
||||||
} \
|
} \
|
||||||
break; \
|
break; \
|
||||||
case FP_CLS_ZERO: \
|
case FP_CLS_ZERO: \
|
||||||
R##_s = X##_s; \
|
R##_s = X##_s; \
|
||||||
R##_c = FP_CLS_ZERO; /* sqrt(+-0) = +-0 */ \
|
R##_c = FP_CLS_ZERO; /* sqrt(+-0) = +-0 */ \
|
||||||
break; \
|
break; \
|
||||||
case FP_CLS_NORMAL: \
|
case FP_CLS_NORMAL: \
|
||||||
R##_s = 0; \
|
R##_s = 0; \
|
||||||
if (X##_s) \
|
if (X##_s) \
|
||||||
{ \
|
{ \
|
||||||
R##_c = FP_CLS_NAN; /* sNAN */ \
|
R##_c = FP_CLS_NAN; /* NAN */ \
|
||||||
R##_s = _FP_NANSIGN_##fs; \
|
R##_s = _FP_NANSIGN_##fs; \
|
||||||
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
|
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
|
||||||
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
||||||
break; \
|
break; \
|
||||||
} \
|
} \
|
||||||
R##_c = FP_CLS_NORMAL; \
|
R##_c = FP_CLS_NORMAL; \
|
||||||
if (X##_e & 1) \
|
if (X##_e & 1) \
|
||||||
_FP_FRAC_SLL_##wc(X, 1); \
|
_FP_FRAC_SLL_##wc(X, 1); \
|
||||||
R##_e = X##_e >> 1; \
|
R##_e = X##_e >> 1; \
|
||||||
|
|
@ -1118,8 +1163,9 @@ do { \
|
||||||
{ \
|
{ \
|
||||||
/* Exactly representable; shift left. */ \
|
/* Exactly representable; shift left. */ \
|
||||||
_FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \
|
_FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \
|
||||||
_FP_FRAC_SLL_##wc(X, (_FP_EXPBIAS_##fs \
|
if (_FP_EXPBIAS_##fs + _FP_FRACBITS_##fs - 1 - X##_e > 0) \
|
||||||
+ _FP_FRACBITS_##fs - 1 - X##_e)); \
|
_FP_FRAC_SLL_##wc(X, (_FP_EXPBIAS_##fs \
|
||||||
|
+ _FP_FRACBITS_##fs - 1 - X##_e)); \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
{ \
|
{ \
|
||||||
|
|
@ -1197,7 +1243,7 @@ do { \
|
||||||
D##_e = _FP_EXPMAX_##dfs; \
|
D##_e = _FP_EXPMAX_##dfs; \
|
||||||
if (!_FP_FRAC_ZEROP_##swc(S)) \
|
if (!_FP_FRAC_ZEROP_##swc(S)) \
|
||||||
{ \
|
{ \
|
||||||
if (!(_FP_FRAC_HIGH_RAW_##sfs(S) & _FP_QNANBIT_##sfs)) \
|
if (_FP_FRAC_SNANP(sfs, S)) \
|
||||||
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
FP_SET_EXCEPTION(FP_EX_INVALID); \
|
||||||
_FP_FRAC_SLL_##dwc(D, (_FP_FRACBITS_##dfs \
|
_FP_FRAC_SLL_##dwc(D, (_FP_FRACBITS_##dfs \
|
||||||
- _FP_FRACBITS_##sfs)); \
|
- _FP_FRACBITS_##sfs)); \
|
||||||
|
|
@ -1284,7 +1330,7 @@ do { \
|
||||||
/* Semi-raw NaN must have all workbits cleared. */ \
|
/* Semi-raw NaN must have all workbits cleared. */ \
|
||||||
_FP_FRAC_LOW_##dwc(D) \
|
_FP_FRAC_LOW_##dwc(D) \
|
||||||
&= ~(_FP_W_TYPE) ((1 << _FP_WORKBITS) - 1); \
|
&= ~(_FP_W_TYPE) ((1 << _FP_WORKBITS) - 1); \
|
||||||
_FP_FRAC_HIGH_##dfs(D) |= _FP_QNANBIT_SH_##dfs; \
|
_FP_SETQNAN_SEMIRAW(dfs, dwc, D); \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Definitions for IEEE Quad Precision.
|
Definitions for IEEE Quad Precision.
|
||||||
Copyright (C) 1997,1998,1999,2006,2007,2012 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Definitions for IEEE Single Precision.
|
Definitions for IEEE Single Precision.
|
||||||
Copyright (C) 1997,1998,1999,2006,2012 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Copyright (C) 1997,1998,1999,2000,2002,2003,2005,2006,2007,2012
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com),
|
Contributed by Richard Henderson (rth@cygnus.com),
|
||||||
Jakub Jelinek (jj@ultra.linux.cz),
|
Jakub Jelinek (jj@ultra.linux.cz),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a - b
|
Return a - b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a - b
|
Return a - b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return a - b
|
Return a - b
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Truncate IEEE double into IEEE single
|
Truncate IEEE double into IEEE single
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Truncate IEEE quad into IEEE double
|
Truncate IEEE quad into IEEE double
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Truncate IEEE quad into IEEE single
|
Truncate IEEE quad into IEEE single
|
||||||
Copyright (C) 1997,1999,2006 Free Software Foundation, Inc.
|
Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson (rth@cygnus.com) and
|
Contributed by Richard Henderson (rth@cygnus.com) and
|
||||||
Jakub Jelinek (jj@ultra.linux.cz).
|
Jakub Jelinek (jj@ultra.linux.cz).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 1 iff a or b is a NaN, 0 otherwise.
|
Return 1 iff a or b is a NaN, 0 otherwise.
|
||||||
Copyright (C) 2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 2006-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Joseph Myers (joseph@codesourcery.com).
|
Contributed by Joseph Myers (joseph@codesourcery.com).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 1 iff a or b is a NaN, 0 otherwise.
|
Return 1 iff a or b is a NaN, 0 otherwise.
|
||||||
Copyright (C) 2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 2006-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Joseph Myers (joseph@codesourcery.com).
|
Contributed by Joseph Myers (joseph@codesourcery.com).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Software floating-point emulation.
|
/* Software floating-point emulation.
|
||||||
Return 1 iff a or b is a NaN, 0 otherwise.
|
Return 1 iff a or b is a NaN, 0 otherwise.
|
||||||
Copyright (C) 2006,2007 Free Software Foundation, Inc.
|
Copyright (C) 2006-2013 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Joseph Myers (joseph@codesourcery.com).
|
Contributed by Joseph Myers (joseph@codesourcery.com).
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue