[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patches] DFP branch: libgcc override functions
- To: patches@xxxxxxxxxx, Peter Eberlein <eberlein@xxxxxxxxxx>, Ryan Arnold <ryanarn@xxxxxxxxxx>
- Subject: [patches] DFP branch: libgcc override functions
- From: Andreas Krebbel <krebbel@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 28 Aug 2008 15:37:31 +0200
Hello,
this is a re-post of the patch adding the base-math directory to
dfp/sysdeps/ieee754r/. The directory contains C functions which are
intended to be compiled using GCC hardware DFP support. In order to use
these functions put an "Implies" file into a directory which only gets
compiled if eglibc is configured with --with-cpu=xx for a CPU which
provides hardware DFP support.
My first posting of this patch didn't make it to the mailing list. I
assume that there is a length limit for the mail body?! So I attach the
patch file this time.
Bye,
-Andreas-
Index: dfp/sysdeps/ieee754r/base-math/dpd-adddd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-adddd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_adddd3 (_Decimal64 x, _Decimal64 y)
+{
+ return x + y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-addtd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-addtd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_addtd3 (_Decimal128 x, _Decimal128 y)
+{
+ return x + y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-divdd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-divdd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_divdd3 (_Decimal64 x, _Decimal64 y)
+{
+ return x / y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-divtd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-divtd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_divtd3 (_Decimal128 x, _Decimal128 y)
+{
+ return x / y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-eqdd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-eqdd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_eqdd2 (_Decimal64 x, _Decimal64 y)
+{
+ return x == y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-eqtd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-eqtd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_eqtd2 (_Decimal128 x, _Decimal128 y)
+{
+ return x == y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-extendddtd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-extendddtd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_extendddtd2 (_Decimal64 x)
+{
+ return (_Decimal128)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixdddi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixdddi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+long
+__dpd_fixdddi (_Decimal64 x)
+{
+ return (long)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixddsi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixddsi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_fixddsi (_Decimal64 x)
+{
+ return (int)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixtddi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixtddi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+long
+__dpd_fixtddi (_Decimal128 x)
+{
+ return (long)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixtdsi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixtdsi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_fixtdsi (_Decimal128 x)
+{
+ return (int)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixunsdddi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixunsdddi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+unsigned long
+__dpd_fixunsdddi (_Decimal64 x)
+{
+ return (unsigned long)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixunsddsi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixunsddsi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+unsigned int
+__dpd_fixunsddsi (_Decimal64 x)
+{
+ return (unsigned int)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixunstddi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixunstddi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+unsigned long
+__dpd_fixunstddi (_Decimal128 x)
+{
+ return (unsigned long)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-fixunstdsi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-fixunstdsi.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+unsigned int
+__dpd_fixunstdsi (_Decimal128 x)
+{
+ return (unsigned int)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatdidd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatdidd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_floatdidd (long x)
+{
+ return (_Decimal64)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatditd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatditd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_floatditd (long x)
+{
+ return (_Decimal128)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatsidd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatsidd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_floatsidd (int x)
+{
+ return (_Decimal64)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatsitd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatsitd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_floatsitd (int x)
+{
+ return (_Decimal128)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatunsdidd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatunsdidd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_floatunsdidd (unsigned long x)
+{
+ return (_Decimal64)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatunsditd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatunsditd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_floatunsditd (unsigned long x)
+{
+ return (_Decimal128)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatunssidd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatunssidd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_floatunssidd (unsigned int x)
+{
+ return (_Decimal64)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-floatunssitd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-floatunssitd.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_floatunssitd (unsigned int x)
+{
+ return (_Decimal128)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-gedd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-gedd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_gedd2 (_Decimal64 x, _Decimal64 y)
+{
+ return x >= y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-getd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-getd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_getd2 (_Decimal128 x, _Decimal128 y)
+{
+ return x >= y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-gtdd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-gtdd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_gtdd2 (_Decimal64 x, _Decimal64 y)
+{
+ return x > y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-gttd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-gttd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_gttd2 (_Decimal128 x, _Decimal128 y)
+{
+ return x > y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-ledd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-ledd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_ledd2 (_Decimal64 x, _Decimal64 y)
+{
+ return x <= y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-letd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-letd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_letd2 (_Decimal128 x, _Decimal128 y)
+{
+ return x <= y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-ltdd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-ltdd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_ltdd2 (_Decimal64 x, _Decimal64 y)
+{
+ return x < y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-lttd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-lttd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_lttd3 (_Decimal128 x, _Decimal128 y)
+{
+ return x < y;
+}
Index: dfp/sysdeps/ieee754r/base-math/Makefile
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/Makefile 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,43 @@
+ifeq ($(subdir),dfp)
+ libdfp-routines += \
+ dpd-adddd3 \
+ dpd-addtd3 \
+ dpd-divdd3 \
+ dpd-divtd3 \
+ dpd-eqdd2 \
+ dpd-eqtd2 \
+ dpd-extendddtd2 \
+ dpd-fixdddi \
+ dpd-fixddsi \
+ dpd-fixtddi \
+ dpd-fixtdsi \
+ dpd-fixunsdddi \
+ dpd-fixunsddsi \
+ dpd-fixunstddi \
+ dpd-fixunstdsi \
+ dpd-floatdidd \
+ dpd-floatditd \
+ dpd-floatsidd \
+ dpd-floatsitd \
+ dpd-floatunsdidd \
+ dpd-floatunsditd \
+ dpd-floatunssidd \
+ dpd-floatunssitd \
+ dpd-gedd2 \
+ dpd-getd2 \
+ dpd-gtdd2 \
+ dpd-gttd2 \
+ dpd-ledd2 \
+ dpd-letd2 \
+ dpd-ltdd2 \
+ dpd-lttd2 \
+ dpd-muldd3 \
+ dpd-multd3 \
+ dpd-nedd2 \
+ dpd-netd2 \
+ dpd-subdd3 \
+ dpd-subtd3 \
+ dpd-trunctddd2 \
+ dpd-unorddd2 \
+ dpd-unordtd2
+endif
Index: dfp/sysdeps/ieee754r/base-math/dpd-muldd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-muldd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_muldd3 (_Decimal64 x, _Decimal64 y)
+{
+ return x * y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-multd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-multd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_multd3 (_Decimal128 x, _Decimal128 y)
+{
+ return x * y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-nedd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-nedd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_nedd2 (_Decimal64 x, _Decimal64 y)
+{
+ return x != y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-netd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-netd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+int
+__dpd_netd2 (_Decimal128 x, _Decimal128 y)
+{
+ return x != y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-subdd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-subdd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_subdd3 (_Decimal64 x, _Decimal64 y)
+{
+ return x - y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-subtd3.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-subtd3.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_subtd3 (_Decimal128 x, _Decimal128 y)
+{
+ return x - y;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-trunctddd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-trunctddd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_trunctddd2 (_Decimal128 x)
+{
+ return (_Decimal64)x;
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-unorddd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-unorddd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal64
+__dpd_unorddd2 (_Decimal64 x, _Decimal64 y)
+{
+ return isnan (x) || isnan (y);
+}
Index: dfp/sysdeps/ieee754r/base-math/dpd-unordtd2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/dpd-unordtd2.c 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,27 @@
+/* Decimal Floating Point function intended to override the libgcc version.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Contributed by Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
+ MA 02110-1301 USA */
+
+_Decimal128
+__dpd_unordtd2 (_Decimal128 x, _Decimal128 y)
+{
+ return isnan (x) || isnan (y);
+}
Index: dfp/sysdeps/ieee754r/base-math/Versions
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/Versions 2008-08-28 15:25:25.000000000 +0200
@@ -0,0 +1,44 @@
+libdfp {
+ GLIBC_2.7 {
+ __dpd_adddd3;
+ __dpd_addtd3;
+ __dpd_divdd3;
+ __dpd_divtd3;
+ __dpd_eqdd2;
+ __dpd_eqtd2;
+ __dpd_extendddtd2;
+ __dpd_fixdddi;
+ __dpd_fixddsi;
+ __dpd_fixtddi;
+ __dpd_fixtdsi;
+ __dpd_fixunsdddi;
+ __dpd_fixunsddsi;
+ __dpd_fixunstddi;
+ __dpd_fixunstdsi;
+ __dpd_floatdidd;
+ __dpd_floatditd;
+ __dpd_floatsidd;
+ __dpd_floatsitd;
+ __dpd_floatunsdidd;
+ __dpd_floatunsditd;
+ __dpd_floatunssidd;
+ __dpd_floatunssitd;
+ __dpd_gedd2;
+ __dpd_getd2;
+ __dpd_gtdd2;
+ __dpd_gttd2;
+ __dpd_ledd2;
+ __dpd_letd2;
+ __dpd_ltdd2;
+ __dpd_lttd2;
+ __dpd_muldd3;
+ __dpd_multd3;
+ __dpd_nedd2;
+ __dpd_netd2;
+ __dpd_subdd3;
+ __dpd_subtd3;
+ __dpd_trunctddd2;
+ __dpd_unorddd2;
+ __dpd_unordtd2;
+ }
+}
Index: dfp/sysdeps/ieee754r/base-math/README
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dfp/sysdeps/ieee754r/base-math/README 2008-08-28 15:25:52.000000000 +0200
@@ -0,0 +1,3 @@
+These functions match what is implemented as part of libgcc for DFP.
+They are intended to be compiled with DFP hardware support in order to
+override the software DFP libgcc.a symbols.