From dbd279ae36eaab25067b0c8ddd371b492418a987 Mon Sep 17 00:00:00 2001
From: Kito Cheng <kito.cheng@gmail.com>
Date: Wed, 7 Nov 2018 16:07:21 +0800
Subject: [PATCH] Update soft-fp from glibc.
---
libgcc/ChangeLog | 91 ++++++++++++++++++++++++++++++++++++++++++++
libgcc/soft-fp/adddf3.c | 2 +-
libgcc/soft-fp/addsf3.c | 2 +-
libgcc/soft-fp/addtf3.c | 2 +-
libgcc/soft-fp/divdf3.c | 2 +-
libgcc/soft-fp/divsf3.c | 2 +-
libgcc/soft-fp/divtf3.c | 2 +-
libgcc/soft-fp/double.h | 6 +--
libgcc/soft-fp/eqdf2.c | 2 +-
libgcc/soft-fp/eqsf2.c | 2 +-
libgcc/soft-fp/eqtf2.c | 2 +-
libgcc/soft-fp/extenddftf2.c | 2 +-
libgcc/soft-fp/extended.h | 4 +-
libgcc/soft-fp/extendhftf2.c | 2 +-
libgcc/soft-fp/extendsfdf2.c | 2 +-
libgcc/soft-fp/extendsftf2.c | 2 +-
libgcc/soft-fp/extendxftf2.c | 2 +-
libgcc/soft-fp/fixdfdi.c | 2 +-
libgcc/soft-fp/fixdfsi.c | 2 +-
libgcc/soft-fp/fixdfti.c | 2 +-
libgcc/soft-fp/fixhfti.c | 2 +-
libgcc/soft-fp/fixsfdi.c | 2 +-
libgcc/soft-fp/fixsfsi.c | 2 +-
libgcc/soft-fp/fixsfti.c | 2 +-
libgcc/soft-fp/fixtfdi.c | 2 +-
libgcc/soft-fp/fixtfsi.c | 2 +-
libgcc/soft-fp/fixtfti.c | 2 +-
libgcc/soft-fp/fixunsdfdi.c | 2 +-
libgcc/soft-fp/fixunsdfsi.c | 2 +-
libgcc/soft-fp/fixunsdfti.c | 2 +-
libgcc/soft-fp/fixunshfti.c | 2 +-
libgcc/soft-fp/fixunssfdi.c | 2 +-
libgcc/soft-fp/fixunssfsi.c | 2 +-
libgcc/soft-fp/fixunssfti.c | 2 +-
libgcc/soft-fp/fixunstfdi.c | 2 +-
libgcc/soft-fp/fixunstfsi.c | 2 +-
libgcc/soft-fp/fixunstfti.c | 2 +-
libgcc/soft-fp/floatdidf.c | 2 +-
libgcc/soft-fp/floatdisf.c | 2 +-
libgcc/soft-fp/floatditf.c | 2 +-
libgcc/soft-fp/floatsidf.c | 2 +-
libgcc/soft-fp/floatsisf.c | 2 +-
libgcc/soft-fp/floatsitf.c | 2 +-
libgcc/soft-fp/floattidf.c | 2 +-
libgcc/soft-fp/floattihf.c | 2 +-
libgcc/soft-fp/floattisf.c | 2 +-
libgcc/soft-fp/floattitf.c | 2 +-
libgcc/soft-fp/floatundidf.c | 2 +-
libgcc/soft-fp/floatundisf.c | 2 +-
libgcc/soft-fp/floatunditf.c | 2 +-
libgcc/soft-fp/floatunsidf.c | 2 +-
libgcc/soft-fp/floatunsisf.c | 2 +-
libgcc/soft-fp/floatunsitf.c | 2 +-
libgcc/soft-fp/floatuntidf.c | 2 +-
libgcc/soft-fp/floatuntihf.c | 2 +-
libgcc/soft-fp/floatuntisf.c | 2 +-
libgcc/soft-fp/floatuntitf.c | 2 +-
libgcc/soft-fp/gedf2.c | 2 +-
libgcc/soft-fp/gesf2.c | 2 +-
libgcc/soft-fp/getf2.c | 2 +-
libgcc/soft-fp/half.h | 4 +-
libgcc/soft-fp/ledf2.c | 2 +-
libgcc/soft-fp/lesf2.c | 2 +-
libgcc/soft-fp/letf2.c | 2 +-
libgcc/soft-fp/muldf3.c | 2 +-
libgcc/soft-fp/mulsf3.c | 2 +-
libgcc/soft-fp/multf3.c | 2 +-
libgcc/soft-fp/negdf2.c | 2 +-
libgcc/soft-fp/negsf2.c | 2 +-
libgcc/soft-fp/negtf2.c | 2 +-
libgcc/soft-fp/op-1.h | 2 +-
libgcc/soft-fp/op-2.h | 2 +-
libgcc/soft-fp/op-4.h | 65 +++++++++++++++++--------------
libgcc/soft-fp/op-8.h | 90 ++++++++++++++++++++++++++++++++++++++++++-
libgcc/soft-fp/op-common.h | 23 ++++++++++-
libgcc/soft-fp/quad.h | 4 +-
libgcc/soft-fp/single.h | 4 +-
libgcc/soft-fp/soft-fp.h | 2 +-
libgcc/soft-fp/subdf3.c | 2 +-
libgcc/soft-fp/subsf3.c | 2 +-
libgcc/soft-fp/subtf3.c | 2 +-
libgcc/soft-fp/truncdfsf2.c | 2 +-
libgcc/soft-fp/trunctfdf2.c | 2 +-
libgcc/soft-fp/trunctfhf2.c | 2 +-
libgcc/soft-fp/trunctfsf2.c | 2 +-
libgcc/soft-fp/trunctfxf2.c | 2 +-
libgcc/soft-fp/unorddf2.c | 2 +-
libgcc/soft-fp/unordsf2.c | 2 +-
libgcc/soft-fp/unordtf2.c | 2 +-
89 files changed, 329 insertions(+), 122 deletions(-)
@@ -1,3 +1,94 @@
+2018-11-07 Kito Cheng <kito@andestech.com>
+
+ * 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/extendhftf2.c: Likewise.
+ * soft-fp/extendsfdf2.c: Likewise.
+ * soft-fp/extendsftf2.c: Likewise.
+ * soft-fp/extendxftf2.c: Likewise.
+ * soft-fp/fixdfdi.c: Likewise.
+ * soft-fp/fixdfsi.c: Likewise.
+ * soft-fp/fixdfti.c: Likewise.
+ * soft-fp/fixhfti.c: Likewise.
+ * soft-fp/fixsfdi.c: Likewise.
+ * soft-fp/fixsfsi.c: Likewise.
+ * soft-fp/fixsfti.c: Likewise.
+ * soft-fp/fixtfdi.c: Likewise.
+ * soft-fp/fixtfsi.c: Likewise.
+ * soft-fp/fixtfti.c: Likewise.
+ * soft-fp/fixunsdfdi.c: Likewise.
+ * soft-fp/fixunsdfsi.c: Likewise.
+ * soft-fp/fixunsdfti.c: Likewise.
+ * soft-fp/fixunshfti.c: Likewise.
+ * soft-fp/fixunssfdi.c: Likewise.
+ * soft-fp/fixunssfsi.c: Likewise.
+ * soft-fp/fixunssfti.c: Likewise.
+ * soft-fp/fixunstfdi.c: Likewise.
+ * soft-fp/fixunstfsi.c: Likewise.
+ * soft-fp/fixunstfti.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/floattidf.c: Likewise.
+ * soft-fp/floattihf.c: Likewise.
+ * soft-fp/floattisf.c: Likewise.
+ * soft-fp/floattitf.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/floatuntidf.c: Likewise.
+ * soft-fp/floatuntihf.c: Likewise.
+ * soft-fp/floatuntisf.c: Likewise.
+ * soft-fp/floatuntitf.c: Likewise.
+ * soft-fp/gedf2.c: Likewise.
+ * soft-fp/gesf2.c: Likewise.
+ * soft-fp/getf2.c: Likewise.
+ * soft-fp/half.h: 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/trunctfhf2.c: Likewise.
+ * soft-fp/trunctfsf2.c: Likewise.
+ * soft-fp/trunctfxf2.c: Likewise.
+ * soft-fp/unorddf2.c: Likewise.
+ * soft-fp/unordsf2.c: Likewise.
+ * soft-fp/unordtf2.c: Likewise.
+
2018-11-04 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
* config/i386/cpuinfo.c: (get_amd_cpu): Add znver2.
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a + b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a + b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a + b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a / b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a / b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a / b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Definitions for IEEE Double Precision
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -89,7 +89,7 @@ union _FP_UNION_D
unsigned exp : _FP_EXPBITS_D;
unsigned sign : 1;
# endif
- } bits __attribute__ ((packed));
+ } bits;
};
# define FP_DECL_D(X) _FP_DECL (2, X)
@@ -210,7 +210,7 @@ union _FP_UNION_D
unsigned exp : _FP_EXPBITS_D;
unsigned sign : 1;
# endif
- } bits __attribute__ ((packed));
+ } bits;
};
# define FP_DECL_D(X) _FP_DECL (1, X)
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 otherwise
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 otherwise
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 otherwise
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a converted to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Definitions for IEEE Extended Precision.
- Copyright (C) 1999-2016 Free Software Foundation, Inc.
+ Copyright (C) 1999-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
@@ -88,7 +88,7 @@ union _FP_UNION_E
unsigned exp : _FP_EXPBITS_E;
unsigned sign : 1;
# endif /* not bigendian */
- } bits __attribute__ ((packed));
+ } bits;
};
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return an IEEE half converted to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a converted to IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a converted to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a converted to IEEE quad
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 64bit signed integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 32bit signed integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE double to 128bit signed integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE half to 128bit signed integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 64bit signed integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 32bit signed integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE single to 128bit signed integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 64bit signed integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 32bit signed integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE quad to 128bit signed integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 64bit unsigned integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 32bit unsigned integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE double to 128bit unsigned integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE half to 128bit unsigned integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 64bit unsigned integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 32bit unsigned integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE single to 128bit unsigned integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 64bit unsigned integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a to 32bit unsigned integer
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert IEEE quad to 128bit unsigned integer
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 64bit signed integer to IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 64bit signed integer to IEEE single
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 64bit signed integer to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 32bit signed integer to IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 32bit signed integer to IEEE single
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 32bit signed integer to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit signed integer to IEEE double
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit signed integer to IEEE half
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit signed integer to IEEE single
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit signed integer to IEEE quad
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 64bit unsigned integer to IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 64bit unsigned integer to IEEE single
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 64bit unsigned integer to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 32bit unsigned integer to IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 32bit unsigned integer to IEEE single
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 32bit unsigned integer to IEEE quad
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit unsigned integer to IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit unsigned integer to IEEE half.
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit unsigned integer to IEEE single
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Convert a 128bit unsigned integer to IEEE quad
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Definitions for IEEE Half Precision.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -75,7 +75,7 @@ union _FP_UNION_H
unsigned exp : _FP_EXPBITS_H;
unsigned sign : 1;
#endif
- } bits __attribute__ ((packed));
+ } bits;
};
#define FP_DECL_H(X) _FP_DECL (1, X)
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a * b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a * b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a * b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return -a
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return -a
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return -a
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Basic one-word fraction declaration and manipulation.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Basic two-word fraction declaration and manipulation.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Basic four-word fraction declaration and manipulation.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -696,39 +696,46 @@
#endif
#ifndef __FP_FRAC_SUB_3
-# define __FP_FRAC_SUB_3(r2, r1, r0, x2, x1, x0, y2, y1, y0) \
- do \
- { \
- _FP_W_TYPE __FP_FRAC_SUB_3_c1, __FP_FRAC_SUB_3_c2; \
- r0 = x0 - y0; \
- __FP_FRAC_SUB_3_c1 = r0 > x0; \
- r1 = x1 - y1; \
- __FP_FRAC_SUB_3_c2 = r1 > x1; \
- r1 -= __FP_FRAC_SUB_3_c1; \
- __FP_FRAC_SUB_3_c2 |= __FP_FRAC_SUB_3_c1 && (y1 == x1); \
- r2 = x2 - y2 - __FP_FRAC_SUB_3_c2; \
- } \
+# define __FP_FRAC_SUB_3(r2, r1, r0, x2, x1, x0, y2, y1, y0) \
+ do \
+ { \
+ _FP_W_TYPE __FP_FRAC_SUB_3_tmp[2]; \
+ _FP_W_TYPE __FP_FRAC_SUB_3_c1, __FP_FRAC_SUB_3_c2; \
+ __FP_FRAC_SUB_3_tmp[0] = x0 - y0; \
+ __FP_FRAC_SUB_3_c1 = __FP_FRAC_SUB_3_tmp[0] > x0; \
+ __FP_FRAC_SUB_3_tmp[1] = x1 - y1; \
+ __FP_FRAC_SUB_3_c2 = __FP_FRAC_SUB_3_tmp[1] > x1; \
+ __FP_FRAC_SUB_3_tmp[1] -= __FP_FRAC_SUB_3_c1; \
+ __FP_FRAC_SUB_3_c2 |= __FP_FRAC_SUB_3_c1 && (y1 == x1); \
+ r2 = x2 - y2 - __FP_FRAC_SUB_3_c2; \
+ r1 = __FP_FRAC_SUB_3_tmp[1]; \
+ r0 = __FP_FRAC_SUB_3_tmp[0]; \
+ } \
while (0)
#endif
#ifndef __FP_FRAC_SUB_4
# define __FP_FRAC_SUB_4(r3, r2, r1, r0, x3, x2, x1, x0, y3, y2, y1, y0) \
- do \
- { \
- _FP_W_TYPE __FP_FRAC_SUB_4_c1, __FP_FRAC_SUB_4_c2; \
- _FP_W_TYPE __FP_FRAC_SUB_4_c3; \
- r0 = x0 - y0; \
- __FP_FRAC_SUB_4_c1 = r0 > x0; \
- r1 = x1 - y1; \
- __FP_FRAC_SUB_4_c2 = r1 > x1; \
- r1 -= __FP_FRAC_SUB_4_c1; \
- __FP_FRAC_SUB_4_c2 |= __FP_FRAC_SUB_4_c1 && (y1 == x1); \
- r2 = x2 - y2; \
- __FP_FRAC_SUB_4_c3 = r2 > x2; \
- r2 -= __FP_FRAC_SUB_4_c2; \
- __FP_FRAC_SUB_4_c3 |= __FP_FRAC_SUB_4_c2 && (y2 == x2); \
- r3 = x3 - y3 - __FP_FRAC_SUB_4_c3; \
- } \
+ do \
+ { \
+ _FP_W_TYPE __FP_FRAC_SUB_4_tmp[3]; \
+ _FP_W_TYPE __FP_FRAC_SUB_4_c1, __FP_FRAC_SUB_4_c2; \
+ _FP_W_TYPE __FP_FRAC_SUB_4_c3; \
+ __FP_FRAC_SUB_4_tmp[0] = x0 - y0; \
+ __FP_FRAC_SUB_4_c1 = __FP_FRAC_SUB_4_tmp[0] > x0; \
+ __FP_FRAC_SUB_4_tmp[1] = x1 - y1; \
+ __FP_FRAC_SUB_4_c2 = __FP_FRAC_SUB_4_tmp[1] > x1; \
+ __FP_FRAC_SUB_4_tmp[1] -= __FP_FRAC_SUB_4_c1; \
+ __FP_FRAC_SUB_4_c2 |= __FP_FRAC_SUB_4_c1 && (y1 == x1); \
+ __FP_FRAC_SUB_4_tmp[2] = x2 - y2; \
+ __FP_FRAC_SUB_4_c3 = __FP_FRAC_SUB_4_tmp[2] > x2; \
+ __FP_FRAC_SUB_4_tmp[2] -= __FP_FRAC_SUB_4_c2; \
+ __FP_FRAC_SUB_4_c3 |= __FP_FRAC_SUB_4_c2 && (y2 == x2); \
+ r3 = x3 - y3 - __FP_FRAC_SUB_4_c3; \
+ r2 = __FP_FRAC_SUB_4_tmp[2]; \
+ r1 = __FP_FRAC_SUB_4_tmp[1]; \
+ r0 = __FP_FRAC_SUB_4_tmp[0]; \
+ } \
while (0)
#endif
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Basic eight-word fraction declaration and manipulation.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz) and
@@ -35,6 +35,7 @@
/* We need just a few things from here for op-4, if we ever need some
other macros, they can be added. */
#define _FP_FRAC_DECL_8(X) _FP_W_TYPE X##_f[8]
+#define _FP_FRAC_SET_8(X, I) __FP_FRAC_SET_8 (X, I)
#define _FP_FRAC_HIGH_8(X) (X##_f[7])
#define _FP_FRAC_LOW_8(X) (X##_f[0])
#define _FP_FRAC_WORD_8(X, w) (X##_f[w])
@@ -147,4 +148,91 @@
} \
while (0)
+#define _FP_FRAC_ADD_8(R, X, Y) \
+ do \
+ { \
+ _FP_W_TYPE _FP_FRAC_ADD_8_c = 0; \
+ _FP_I_TYPE _FP_FRAC_ADD_8_i; \
+ for (_FP_FRAC_ADD_8_i = 0; _FP_FRAC_ADD_8_i < 8; ++_FP_FRAC_ADD_8_i) \
+ { \
+ R##_f[_FP_FRAC_ADD_8_i] \
+ = (X##_f[_FP_FRAC_ADD_8_i] + Y##_f[_FP_FRAC_ADD_8_i] \
+ + _FP_FRAC_ADD_8_c); \
+ _FP_FRAC_ADD_8_c \
+ = (_FP_FRAC_ADD_8_c \
+ ? R##_f[_FP_FRAC_ADD_8_i] <= X##_f[_FP_FRAC_ADD_8_i] \
+ : R##_f[_FP_FRAC_ADD_8_i] < X##_f[_FP_FRAC_ADD_8_i]); \
+ } \
+ } \
+ while (0)
+
+#define _FP_FRAC_SUB_8(R, X, Y) \
+ do \
+ { \
+ _FP_W_TYPE _FP_FRAC_SUB_8_tmp[8]; \
+ _FP_W_TYPE _FP_FRAC_SUB_8_c = 0; \
+ _FP_I_TYPE _FP_FRAC_SUB_8_i; \
+ for (_FP_FRAC_SUB_8_i = 0; _FP_FRAC_SUB_8_i < 8; ++_FP_FRAC_SUB_8_i) \
+ { \
+ _FP_FRAC_SUB_8_tmp[_FP_FRAC_SUB_8_i] \
+ = (X##_f[_FP_FRAC_SUB_8_i] - Y##_f[_FP_FRAC_SUB_8_i] \
+ - _FP_FRAC_SUB_8_c); \
+ _FP_FRAC_SUB_8_c \
+ = (_FP_FRAC_SUB_8_c \
+ ? (_FP_FRAC_SUB_8_tmp[_FP_FRAC_SUB_8_i] \
+ >= X##_f[_FP_FRAC_SUB_8_i]) \
+ : (_FP_FRAC_SUB_8_tmp[_FP_FRAC_SUB_8_i] \
+ > X##_f[_FP_FRAC_SUB_8_i])); \
+ } \
+ for (_FP_FRAC_SUB_8_i = 0; _FP_FRAC_SUB_8_i < 8; ++_FP_FRAC_SUB_8_i) \
+ R##_f[_FP_FRAC_SUB_8_i] = _FP_FRAC_SUB_8_tmp[_FP_FRAC_SUB_8_i]; \
+ } \
+ while (0)
+
+#define _FP_FRAC_CLZ_8(R, X) \
+ do \
+ { \
+ _FP_I_TYPE _FP_FRAC_CLZ_8_i; \
+ for (_FP_FRAC_CLZ_8_i = 7; _FP_FRAC_CLZ_8_i > 0; _FP_FRAC_CLZ_8_i--) \
+ if (X##_f[_FP_FRAC_CLZ_8_i]) \
+ break; \
+ __FP_CLZ ((R), X##_f[_FP_FRAC_CLZ_8_i]); \
+ (R) += _FP_W_TYPE_SIZE * (7 - _FP_FRAC_CLZ_8_i); \
+ } \
+ while (0)
+
+#define _FP_MINFRAC_8 0, 0, 0, 0, 0, 0, 0, 1
+
+#define _FP_FRAC_NEGP_8(X) ((_FP_WS_TYPE) X##_f[7] < 0)
+#define _FP_FRAC_ZEROP_8(X) \
+ ((X##_f[0] | X##_f[1] | X##_f[2] | X##_f[3] \
+ | X##_f[4] | X##_f[5] | X##_f[6] | X##_f[7]) == 0)
+#define _FP_FRAC_HIGHBIT_DW_8(fs, X) \
+ (_FP_FRAC_HIGH_DW_##fs (X) & _FP_HIGHBIT_DW_##fs)
+
+#define _FP_FRAC_COPY_4_8(D, S) \
+ do \
+ { \
+ D##_f[0] = S##_f[0]; \
+ D##_f[1] = S##_f[1]; \
+ D##_f[2] = S##_f[2]; \
+ D##_f[3] = S##_f[3]; \
+ } \
+ while (0)
+
+#define _FP_FRAC_COPY_8_4(D, S) \
+ do \
+ { \
+ D##_f[0] = S##_f[0]; \
+ D##_f[1] = S##_f[1]; \
+ D##_f[2] = S##_f[2]; \
+ D##_f[3] = S##_f[3]; \
+ D##_f[4] = D##_f[5] = D##_f[6] = D##_f[7]= 0; \
+ } \
+ while (0)
+
+#define __FP_FRAC_SET_8(X, I7, I6, I5, I4, I3, I2, I1, I0) \
+ (X##_f[7] = I7, X##_f[6] = I6, X##_f[5] = I5, X##_f[4] = I4, \
+ X##_f[3] = I3, X##_f[2] = I2, X##_f[1] = I1, X##_f[0] = I0)
+
#endif /* !SOFT_FP_OP_8_H */
@@ -1,5 +1,5 @@
/* Software floating-point emulation. Common operations.
- Copyright (C) 1997-2017 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -2041,6 +2041,27 @@
} \
while (0)
+/* Truncate from a wider floating-point format to a narrower one.
+ Input and output are cooked. */
+#define FP_TRUNC_COOKED(dfs, sfs, dwc, swc, D, S) \
+ do \
+ { \
+ _FP_STATIC_ASSERT (_FP_FRACBITS_##sfs >= _FP_FRACBITS_##dfs, \
+ "destination mantissa wider than source"); \
+ if (S##_c == FP_CLS_NAN) \
+ _FP_FRAC_SRL_##swc (S, (_FP_WFRACBITS_##sfs \
+ - _FP_WFRACBITS_##dfs)); \
+ else \
+ _FP_FRAC_SRS_##swc (S, (_FP_WFRACBITS_##sfs \
+ - _FP_WFRACBITS_##dfs), \
+ _FP_WFRACBITS_##sfs); \
+ _FP_FRAC_COPY_##dwc##_##swc (D, S); \
+ D##_e = S##_e; \
+ D##_c = S##_c; \
+ D##_s = S##_s; \
+ } \
+ while (0)
+
/* Helper primitives. */
/* Count leading zeros in a word. */
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Definitions for IEEE Quad Precision.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -93,7 +93,7 @@ union _FP_UNION_Q
unsigned exp : _FP_EXPBITS_Q;
unsigned sign : 1;
# endif /* not bigendian */
- } bits __attribute__ ((packed));
+ } bits;
};
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Definitions for IEEE Single Precision.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -82,7 +82,7 @@ union _FP_UNION_S
unsigned exp : _FP_EXPBITS_S;
unsigned sign : 1;
#endif
- } bits __attribute__ ((packed));
+ } bits;
};
#define FP_DECL_S(X) _FP_DECL (1, X)
@@ -1,5 +1,5 @@
/* Software floating-point emulation.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz),
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a - b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a - b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a - b
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Truncate IEEE double into IEEE single
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Truncate IEEE quad into IEEE double
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Truncate IEEE quad into IEEE half.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Truncate IEEE quad into IEEE single
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Truncate IEEE quad into IEEE extended
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Uros Bizjak (ubizjak@gmail.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a or b is a NaN, 0 otherwise.
- Copyright (C) 2006-2016 Free Software Foundation, Inc.
+ Copyright (C) 2006-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Joseph Myers (joseph@codesourcery.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a or b is a NaN, 0 otherwise.
- Copyright (C) 2006-2016 Free Software Foundation, Inc.
+ Copyright (C) 2006-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Joseph Myers (joseph@codesourcery.com).
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a or b is a NaN, 0 otherwise.
- Copyright (C) 2006-2016 Free Software Foundation, Inc.
+ Copyright (C) 2006-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Joseph Myers (joseph@codesourcery.com).
--
1.8.3.1