mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: Moved to ...
* sysdeps/sparc/dl-procinfo.c: ... here, new file. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Moved to ... * sysdeps/sparc/dl-procinfo.h: ... here, new file. (HWCAP_IMPORTANT): Include HWCAP_SPARC_V9 when [__WORDSIZE__ != 64]. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: File removed. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: File removed. 2006-02-18 Joseph S. Myers <joseph@codesourcery.com> * soft-fp/single.h (SFtype): Define. (union _FP_UNION_S): Use it. * soft-fp/double.h (DFtype): Define. (union _FP_UNION_D): Use it. * soft-fp/extended.h (XFtype): Define. (union _FP_UNION_E): Use it. * soft-fp/quad.h (TFtype): Define. (union _FP_UNION_Q): Use it. * soft-fp/soft-fp.h: Add _LIBC conditionals. (SI_BITS, DI_BITS): Define. * soft-fp/op-common.h (_FP_DECL): Add __attribute__((unused)) for X##_c. (_FP_CMP_EQ): Use parentheses for && inside ||. (_FP_TO_INT): Use statement expressions in conditional controlling constant shift. (_FP_FROM_INT): Likewise. Take unsigned type as argument. * soft-fp/op-2.h (_FP_FRAC_SLL_2, _FP_FRAC_SRL_2, _FP_FRAC_SRST_2, _FP_FRAC_SRS_2, _FP_FRAC_ASSEMBLE_2): Use statement expressions in conditional controlling possibly constant shift. (_FP_FRAC_SRST_2, _FP_FRAC_SRS_2): Avoid left shift by exactly _FP_W_TYPE_SIZE. (_FP_FRAC_GT_2, _FP_FRAC_GE_2): Use parentheses for && inside ||. * soft-fp/op-4.h (_FP_FRAC_SRST_4): Avoid left shift by exactly _FP_W_TYPE_SIZE. (__FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3, __FP_FRAC_SUB_4): Use _FP_W_TYPE for carry flags. * soft-fp/op-8.h (_FP_FRAC_SRS_8): Avoid left shift by exactly _FP_W_TYPE_SIZE. * soft-fp/floatdidf.c: Pass unsigned type and macro for type size. * soft-fp/floatdisf.c: Likewise. * soft-fp/floatditf.c: Likewise. * soft-fp/floatsidf.c: Likewise. * soft-fp/floatsisf.c: Likewise. * soft-fp/floatsitf.c: Likewise. * soft-fp/floatundidf.c: Likewise. * soft-fp/floatundisf.c: Likewise. * soft-fp/floatunditf.c: Likewise. * soft-fp/floatunsidf.c: Likewise. * soft-fp/floatunsisf.c: Likewise. * soft-fp/floatunsitf.c: Likewise. * soft-fp/fixdfdi.c: Pass macro for type size. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * soft-fp/fixunsdfdi.c: Likewise. * soft-fp/fixunsdfsi.c: Likewise. * soft-fp/fixunssfdi.c: Likewise. * soft-fp/fixunssfsi.c: Likewise. * soft-fp/fixunstfdi.c: Likewise. * soft-fp/fixunstfsi.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvtqux.c: Pass unsigned type. * sysdeps/alpha/soft-fp/ots_cvtqx.c: Likewise. * sysdeps/powerpc/soft-fp/q_itoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_lltoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_ulltoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_utoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Likewise. * soft-fp/adddf3.c: Use typedefs for argument and return types. * 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/eqdf2.c: Likewise. * soft-fp/eqsf2.c: Likewise. * soft-fp/eqtf2.c: Likewise. * soft-fp/extenddftf2.c: Likewise. * soft-fp/extendsfdf2.c: Likewise. * soft-fp/extendsftf2.c: Likewise. * soft-fp/fixdfdi.c: Likewise. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * soft-fp/fixunsdfdi.c: Likewise. * soft-fp/fixunsdfsi.c: Likewise. * soft-fp/fixunssfdi.c: Likewise. * soft-fp/fixunssfsi.c: Likewise. * soft-fp/fixunstfdi.c: Likewise. * soft-fp/fixunstfsi.c: Likewise. * soft-fp/floatdidf.c: Likewise. * soft-fp/floatdisf.c: Likewise. * soft-fp/floatditf.c: Likewise. * soft-fp/floatsidf.c: Likewise. * soft-fp/floatsisf.c: Likewise. * soft-fp/floatsitf.c: Likewise. * soft-fp/floatundidf.c: Likewise. * soft-fp/floatundisf.c: Likewise. * soft-fp/floatunditf.c: Likewise. * soft-fp/floatunsidf.c: Likewise. * soft-fp/floatunsisf.c: Likewise. * soft-fp/floatunsitf.c: Likewise. * soft-fp/gedf2.c: Likewise. * soft-fp/gesf2.c: Likewise. * soft-fp/getf2.c: Likewise. * soft-fp/ledf2.c: Likewise. * soft-fp/lesf2.c: Likewise. * soft-fp/letf2.c: Likewise. * soft-fp/muldf3.c: Likewise. * soft-fp/mulsf3.c: Likewise. * soft-fp/multf3.c: Likewise. * soft-fp/negdf2.c: Likewise. * soft-fp/negsf2.c: Likewise. * soft-fp/negtf2.c: Likewise. * soft-fp/sqrtdf2.c: Likewise. * soft-fp/sqrtsf2.c: Likewise. * soft-fp/sqrttf2.c: Likewise. * soft-fp/subdf3.c: Likewise. * soft-fp/subsf3.c: Likewise. * soft-fp/subtf3.c: Likewise. * soft-fp/truncdfsf2.c: Likewise. * soft-fp/trunctfdf2.c: Likewise. * soft-fp/trunctfsf2.c: Likewise. * soft-fp/unorddf2.c: Likewise. * soft-fp/unordsf2.c: Likewise. * soft-fp/unordtf2.c: Likewise. 2006-02-09 Joseph S. Myers <joseph@codesourcery.com> * soft-fp/op-common.h (_FP_UNPACK_SEMIRAW): Define. (_FP_OVERFLOW_SEMIRAW): Likewise. (_FP_CHECK_SIGNAN_SEMIRAW): Likewise. (_FP_CHOOSENAN_SEMIRAW): Likewise. (_FP_EXP_NORMAL): Likewise. (_FP_PACK_SEMIRAW): Likewise. (_FP_ADD_INTERNAL): Rewrite to operate on semi-raw value. (_FP_SUB): Likewise. (_FP_TO_INT): Rewrite to operate on raw values. Don't set INVALID exception for conversions where most negative representable integer is correct truncated value, but do set INEXACT for such conversions where appropriate. Don't always left-shift for converting to a wider integer. (_FP_FROM_INT): Rewrite to yield raw value. Correct shift for integers with one more bits than (mantissa + guard) bits for the floating point format. Don't use __FP_FRAC_SRS_1 for shifting integers that may be wider than _FP_W_TYPE_SIZE. (FP_CONV): Don't define. (FP_EXTEND): Define. (FP_TRUNC): Likewise. * soft-fp/op-1.h (_FP_FRAC_SRST_1, __FP_FRAC_SRST_1): Define. (_FP_FRAC_CONV_1_1): Don't define. (_FP_FRAC_COPY_1_1): Define. * soft-fp/op-2.h (_FP_FRAC_SRST_2): Define. (_FP_FRAC_CONV_1_2, _FP_FRAC_CONV_2_1): Don't define. (_FP_FRAC_COPY_1_2, _FP_FRAC_COPY_2_1): Define. * soft-fp/op-4.h (_FP_FRAC_SRST_4): Define. (_FP_FRAC_SRS_4): Define based on _FP_FRAC_SRST_4. (_FP_FRAC_CONV_1_4, _FP_FRAC_CONV_2_4): Don't define. (_FP_FRAC_COPY_1_4, _FP_FRAC_COPY_2_4): Define. (_FP_FRAC_CONV_4_1, _FP_FRAC_CONV_4_2): Don't define. (_FP_FRAC_COPY_4_1, _FP_FRAC_COPY_4_2): Define. * soft-fp/single.h (_FP_FRACTBITS_S): Define. (_FP_FRACXBITS_S): Define in terms of _FP_FRACXBITS_S. (_FP_WFRACXBITS_S): Likewise. (_FP_QNANBIT_SH_S, _FP_IMPLBIT_SH_S): Define. (FP_UNPACK_SEMIRAW_S, FP_UNPACK_SEMIRAW_SP): Define. (FP_PACK_SEMIRAW_S, FP_PACK_SEMIRAW_SP): Define. * soft-fp/double.h (_FP_QNANBIT_SH_D, _FP_IMPLBIT_SH_D): Define. (FP_UNPACK_SEMIRAW_D, FP_UNPACK_SEMIRAW_D): Define (FP_PACK_SEMIRAW_D, FP_PACK_SEMIRAW_DP): Define. * soft-fp/extended.h (_FP_QNANBIT_SH_E, _FP_IMPLBIT_SH_E): Define. (FP_UNPACK_EP): Correct typo. (FP_UNPACK_SEMIRAW_E, FP_UNPACK_SEMIRAW_EP): Define. (FP_PACK_SEMIRAW_E, FP_PACK_SEMIRAW_EP): Define. * soft-fp/quad.h (_FP_QNANBIT_SH_Q, _FP_IMPLBIT_SH_Q): Define. (FP_UNPACK_SEMIRAW_Q, FP_UNPACK_SEMIRAW_QP): Define. (FP_PACK_SEMIRAW_Q, FP_PACK_SEMIRAW_QP): Define. * soft-fp/fixdfdi.c: Use unsigned type for result of conversion. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvtxq.c: Likewise. * sysdeps/alpha/soft-fp/ots_nintxq.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtoi.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtoll.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise. * soft-fp/adddf3.c: Update for changed soft-fp interfaces. * soft-fp/addsf3.c: Likewise. * soft-fp/addtf3.c: Likewise. * soft-fp/extenddftf2.c: Likewise. * soft-fp/extendsfdf2.c: Likewise. * soft-fp/extendsftf2.c: Likewise. * soft-fp/fixdfdi.c: Likewise. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * soft-fp/fixunsdfdi.c: Likewise. * soft-fp/fixunsdfsi.c: Likewise. * soft-fp/fixunssfdi.c: Likewise. * soft-fp/fixunssfsi.c: Likewise. * soft-fp/fixunstfdi.c: Likewise. * soft-fp/fixunstfsi.c: Likewise. * soft-fp/floatdidf.c: Likewise. * soft-fp/floatdisf.c: Likewise. * soft-fp/floatditf.c: Likewise. * soft-fp/floatsidf.c: Likewise. * soft-fp/floatsisf.c: Likewise. * soft-fp/floatsitf.c: Likewise. * soft-fp/floatundidf.c: Likewise. * soft-fp/floatundisf.c: Likewise. * soft-fp/floatunditf.c: Likewise. * soft-fp/floatunsidf.c: Likewise. * soft-fp/floatunsisf.c: Likewise. * soft-fp/floatunsitf.c: Likewise. * soft-fp/subdf3.c: Likewise. * soft-fp/subsf3.c: Likewise. * soft-fp/subtf3.c: Likewise. * soft-fp/truncdfsf2.c: Likewise. * soft-fp/trunctfdf2.c: Likewise. * soft-fp/trunctfsf2.c: Likewise. * sysdeps/alpha/soft-fp/ots_add.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvtqux.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvtqx.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvttx.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvtxq.c: Likewise. * sysdeps/alpha/soft-fp/ots_cvtxt.c: Likewise. * sysdeps/alpha/soft-fp/ots_nintxq.c: Likewise. * sysdeps/alpha/soft-fp/ots_sub.c: Likewise. * sysdeps/powerpc/soft-fp/q_add.c: Likewise. * sysdeps/powerpc/soft-fp/q_dtoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_itoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_lltoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtod.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtoi.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtoll.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtos.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtou.c: Likewise. * sysdeps/powerpc/soft-fp/q_qtoull.c: Likewise. * sysdeps/powerpc/soft-fp/q_stoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_sub.c: Likewise. * sysdeps/powerpc/soft-fp/q_ulltoq.c: Likewise. * sysdeps/powerpc/soft-fp/q_utoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_add.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtod.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtos.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtou.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_stoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_sub.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Likewise. * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Likewise.
This commit is contained in:
64
sysdeps/sparc/dl-procinfo.c
Normal file
64
sysdeps/sparc/dl-procinfo.c
Normal file
@@ -0,0 +1,64 @@
|
||||
/* Data for Linux/sparc version of processor capability information.
|
||||
Copyright (C) 2002,2003,2006 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
|
||||
|
||||
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., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/* This information must be kept in sync with the _DL_HWCAP_COUNT
|
||||
definition in procinfo.h.
|
||||
|
||||
If anything should be added here check whether the size of each string
|
||||
is still ok with the given array size.
|
||||
|
||||
All the #ifdefs in the definitions ar equite irritating but
|
||||
necessary if we want to avoid duplicating the information. There
|
||||
are three different modes:
|
||||
|
||||
- PROCINFO_DECL is defined. This means we are only interested in
|
||||
declarations.
|
||||
|
||||
- PROCINFO_DECL is not defined:
|
||||
|
||||
+ if SHARED is defined the file is included in an array
|
||||
initializer. The .element = { ... } syntax is needed.
|
||||
|
||||
+ if SHARED is not defined a normal array initialization is
|
||||
needed.
|
||||
*/
|
||||
|
||||
#ifndef PROCINFO_CLASS
|
||||
#define PROCINFO_CLASS
|
||||
#endif
|
||||
|
||||
#if !defined PROCINFO_DECL && defined SHARED
|
||||
._dl_sparc_cap_flags
|
||||
#else
|
||||
PROCINFO_CLASS const char _dl_sparc_cap_flags[][7]
|
||||
#endif
|
||||
#ifndef PROCINFO_DECL
|
||||
= {
|
||||
"flush", "stbar", "swap", "muldiv", "v9", "ultra3"
|
||||
}
|
||||
#endif
|
||||
#if !defined SHARED || defined PROCINFO_DECL
|
||||
;
|
||||
#else
|
||||
,
|
||||
#endif
|
||||
|
||||
#undef PROCINFO_DECL
|
||||
#undef PROCINFO_CLASS
|
78
sysdeps/sparc/dl-procinfo.h
Normal file
78
sysdeps/sparc/dl-procinfo.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/* Linux/sparc version of processor capability information handling macros.
|
||||
Copyright (C) 1999,2000,2001,2002,2003,2004,2006
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
|
||||
|
||||
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., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifndef _DL_PROCINFO_H
|
||||
#define _DL_PROCINFO_H 1
|
||||
|
||||
#include <ldsodefs.h>
|
||||
|
||||
#define _DL_HWCAP_COUNT 6
|
||||
|
||||
static inline int
|
||||
__attribute__ ((unused))
|
||||
_dl_procinfo (int word)
|
||||
{
|
||||
int i;
|
||||
|
||||
_dl_printf ("AT_HWCAP: ");
|
||||
|
||||
for (i = 0; i < _DL_HWCAP_COUNT; ++i)
|
||||
if (word & (1 << i))
|
||||
_dl_printf (" %s", GLRO(dl_sparc_cap_flags)[i]);
|
||||
|
||||
_dl_printf ("\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline const char *
|
||||
__attribute__ ((unused))
|
||||
_dl_hwcap_string (int idx)
|
||||
{
|
||||
return GLRO(dl_sparc_cap_flags)[idx];
|
||||
};
|
||||
|
||||
static inline int
|
||||
__attribute__ ((unused, always_inline))
|
||||
_dl_string_hwcap (const char *str)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < _DL_HWCAP_COUNT; i++)
|
||||
{
|
||||
if (strcmp (str, GLRO(dl_sparc_cap_flags) [i]) == 0)
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
};
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
#define HWCAP_IMPORTANT_V9 (__WORDSIZE__ == 64 ? 0 : HWCAP_SPARC_V9)
|
||||
#define HWCAP_IMPORTANT (HWCAP_IMPORTANT_V9|HWCAP_SPARC_ULTRA3)
|
||||
|
||||
/* There are no different platforms defined. */
|
||||
#define _dl_platform_string(idx) ""
|
||||
|
||||
/* There're no platforms to filter out. */
|
||||
#define _DL_HWCAP_PLATFORM 0
|
||||
|
||||
#define _dl_string_platform(str) (-1)
|
||||
|
||||
#endif /* dl-procinfo.h */
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return a + b
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -30,10 +30,10 @@ long double _Q_add(const long double a, const long double b)
|
||||
long double c;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_Q(B, b);
|
||||
FP_UNPACK_SEMIRAW_Q(A, a);
|
||||
FP_UNPACK_SEMIRAW_Q(B, b);
|
||||
FP_ADD_Q(C, A, B);
|
||||
FP_PACK_Q(c, C);
|
||||
FP_PACK_SEMIRAW_Q(c, C);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -32,13 +32,13 @@ long double _Q_dtoq(const double a)
|
||||
long double c;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_D(A, a);
|
||||
FP_UNPACK_RAW_D(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(Q,D,4,2,C,A);
|
||||
FP_EXTEND(Q,D,4,2,C,A);
|
||||
#else
|
||||
FP_CONV(Q,D,2,1,C,A);
|
||||
FP_EXTEND(Q,D,2,1,C,A);
|
||||
#endif
|
||||
FP_PACK_Q(c, C);
|
||||
FP_PACK_RAW_Q(c, C);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -30,8 +30,8 @@ long double _Q_itoq(const int a)
|
||||
int b = a;
|
||||
long double c;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 32, int);
|
||||
FP_PACK_Q(c, C);
|
||||
FP_FROM_INT_Q(C, b, 32, unsigned int);
|
||||
FP_PACK_RAW_Q(c, C);
|
||||
FP_CLEAR_EXCEPTIONS;
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
|
@@ -30,8 +30,8 @@ long double _Q_lltoq(const long long a)
|
||||
long double c;
|
||||
long long b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 64, long long);
|
||||
FP_PACK_Q(c, C);
|
||||
FP_FROM_INT_Q(C, b, 64, unsigned long long);
|
||||
FP_PACK_RAW_Q(c, C);
|
||||
FP_CLEAR_EXCEPTIONS;
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (double)a
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -32,13 +32,13 @@ double _Q_qtod(const long double a)
|
||||
double r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_SEMIRAW_Q(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(D,Q,2,4,R,A);
|
||||
FP_TRUNC(D,Q,2,4,R,A);
|
||||
#else
|
||||
FP_CONV(D,Q,1,2,R,A);
|
||||
FP_TRUNC(D,Q,1,2,R,A);
|
||||
#endif
|
||||
FP_PACK_D(r, R);
|
||||
FP_PACK_SEMIRAW_D(r, R);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
|
||||
return r;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (int)a
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -28,9 +28,9 @@ int _Q_qtoi(const long double a)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_Q(A);
|
||||
int r;
|
||||
unsigned int r;
|
||||
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_RAW_Q(A, a);
|
||||
FP_TO_INT_Q(r, A, 32, 1);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
|
||||
|
@@ -28,9 +28,9 @@ long long _Q_qtoll(const long double a)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_Q(A);
|
||||
long long r;
|
||||
unsigned long long r;
|
||||
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_RAW_Q(A, a);
|
||||
FP_TO_INT_Q(r, A, 64, 1);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (float)a
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -32,13 +32,13 @@ float _Q_qtos(const long double a)
|
||||
float r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_SEMIRAW_Q(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(S,Q,1,4,R,A);
|
||||
FP_TRUNC(S,Q,1,4,R,A);
|
||||
#else
|
||||
FP_CONV(S,Q,1,2,R,A);
|
||||
FP_TRUNC(S,Q,1,2,R,A);
|
||||
#endif
|
||||
FP_PACK_S(r, R);
|
||||
FP_PACK_SEMIRAW_S(r, R);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
|
||||
return r;
|
||||
|
@@ -30,7 +30,7 @@ unsigned int _Q_qtou(const long double a)
|
||||
FP_DECL_Q(A);
|
||||
unsigned int r;
|
||||
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_RAW_Q(A, a);
|
||||
FP_TO_INT_Q(r, A, 32, -1);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
|
||||
|
@@ -30,7 +30,7 @@ unsigned long long _Q_qtoull(const long double a)
|
||||
FP_DECL_Q(A);
|
||||
unsigned long long r;
|
||||
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_RAW_Q(A, a);
|
||||
FP_TO_INT_Q(r, A, 64, -1);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
c = (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -31,13 +31,13 @@ long double _Q_stoq(const float a)
|
||||
FP_DECL_Q(C);
|
||||
long double c;
|
||||
|
||||
FP_UNPACK_S(A, a);
|
||||
FP_UNPACK_RAW_S(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(Q,S,4,1,C,A);
|
||||
FP_EXTEND(Q,S,4,1,C,A);
|
||||
#else
|
||||
FP_CONV(Q,S,2,1,C,A);
|
||||
FP_EXTEND(Q,S,2,1,C,A);
|
||||
#endif
|
||||
FP_PACK_Q(c, C);
|
||||
FP_PACK_RAW_Q(c, C);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
c = a - b
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -30,10 +30,10 @@ long double _Q_sub(const long double a, const long double b)
|
||||
long double c;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_Q(A, a);
|
||||
FP_UNPACK_Q(B, b);
|
||||
FP_UNPACK_SEMIRAW_Q(A, a);
|
||||
FP_UNPACK_SEMIRAW_Q(B, b);
|
||||
FP_SUB_Q(C, A, B);
|
||||
FP_PACK_Q(c, C);
|
||||
FP_PACK_SEMIRAW_Q(c, C);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
}
|
||||
|
@@ -30,8 +30,8 @@ long double _Q_ulltoq(const unsigned long long a)
|
||||
long double c;
|
||||
unsigned long long b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 64, long long);
|
||||
FP_PACK_Q(c, C);
|
||||
FP_FROM_INT_Q(C, b, 64, unsigned long long);
|
||||
FP_PACK_RAW_Q(c, C);
|
||||
FP_CLEAR_EXCEPTIONS;
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
|
@@ -30,8 +30,8 @@ long double _Q_utoq(const unsigned int a)
|
||||
long double c;
|
||||
unsigned int b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 32, int);
|
||||
FP_PACK_Q(c, C);
|
||||
FP_FROM_INT_Q(C, b, 32, unsigned int);
|
||||
FP_PACK_RAW_Q(c, C);
|
||||
FP_CLEAR_EXCEPTIONS;
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
return c;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (*a) + (*b)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -29,10 +29,10 @@ void _Qp_add(long double *c, const long double *a, const long double *b)
|
||||
FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_QP(B, b);
|
||||
FP_UNPACK_SEMIRAW_QP(A, a);
|
||||
FP_UNPACK_SEMIRAW_QP(B, b);
|
||||
FP_ADD_Q(C, A, B);
|
||||
FP_PACK_QP(c, C);
|
||||
FP_PACK_SEMIRAW_QP(c, C);
|
||||
QP_HANDLE_EXCEPTIONS(__asm (
|
||||
" ldd [%1], %%f52\n"
|
||||
" ldd [%1+8], %%f54\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -31,13 +31,13 @@ void _Qp_dtoq(long double *c, const double a)
|
||||
FP_DECL_Q(C);
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_D(A, a);
|
||||
FP_UNPACK_RAW_D(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(Q,D,4,2,C,A);
|
||||
FP_EXTEND(Q,D,4,2,C,A);
|
||||
#else
|
||||
FP_CONV(Q,D,2,1,C,A);
|
||||
FP_EXTEND(Q,D,2,1,C,A);
|
||||
#endif
|
||||
FP_PACK_QP(c, C);
|
||||
FP_PACK_RAW_QP(c, C);
|
||||
QP_HANDLE_EXCEPTIONS(__asm (
|
||||
" fdtoq %1, %%f60\n"
|
||||
" std %%f60, [%0]\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -29,7 +29,7 @@ void _Qp_itoq(long double *c, const int a)
|
||||
FP_DECL_Q(C);
|
||||
int b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 32, int);
|
||||
FP_PACK_QP(c, C);
|
||||
FP_FROM_INT_Q(C, b, 32, unsigned int);
|
||||
FP_PACK_RAW_QP(c, C);
|
||||
QP_NO_EXCEPTIONS;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (double)(*a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -32,13 +32,13 @@ double _Qp_qtod(const long double *a)
|
||||
double r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_SEMIRAW_QP(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(D,Q,2,4,R,A);
|
||||
FP_TRUNC(D,Q,2,4,R,A);
|
||||
#else
|
||||
FP_CONV(D,Q,1,2,R,A);
|
||||
FP_TRUNC(D,Q,1,2,R,A);
|
||||
#endif
|
||||
FP_PACK_D(r, R);
|
||||
FP_PACK_SEMIRAW_D(r, R);
|
||||
QP_HANDLE_EXCEPTIONS(__asm (
|
||||
" ldd [%1], %%f52\n"
|
||||
" ldd [%1+8], %%f54\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (int)(*a)
|
||||
Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999, 2004, 2006 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).
|
||||
@@ -28,10 +28,10 @@ int _Qp_qtoi(const long double *a)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_Q(A);
|
||||
int r;
|
||||
unsigned int r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_RAW_QP(A, a);
|
||||
FP_TO_INT_Q(r, A, 32, 1);
|
||||
QP_HANDLE_EXCEPTIONS(
|
||||
int rx;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (float)(*a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -32,13 +32,13 @@ float _Qp_qtos(const long double *a)
|
||||
float r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_SEMIRAW_QP(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(S,Q,1,4,R,A);
|
||||
FP_TRUNC(S,Q,1,4,R,A);
|
||||
#else
|
||||
FP_CONV(S,Q,1,2,R,A);
|
||||
FP_TRUNC(S,Q,1,2,R,A);
|
||||
#endif
|
||||
FP_PACK_S(r, R);
|
||||
FP_PACK_SEMIRAW_S(r, R);
|
||||
|
||||
QP_HANDLE_EXCEPTIONS(__asm (
|
||||
" ldd [%1], %%f52\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (unsigned int)(*a)
|
||||
Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999, 2004, 2006 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).
|
||||
@@ -31,7 +31,7 @@ unsigned int _Qp_qtoui(const long double *a)
|
||||
unsigned int r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_RAW_QP(A, a);
|
||||
FP_TO_INT_Q(r, A, 32, -1);
|
||||
QP_HANDLE_EXCEPTIONS(
|
||||
int rx;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (unsigned long)(*a)
|
||||
Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999, 2004, 2006 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).
|
||||
@@ -31,7 +31,7 @@ unsigned long _Qp_qtoux(const long double *a)
|
||||
unsigned long r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_RAW_QP(A, a);
|
||||
FP_TO_INT_Q(r, A, 64, -1);
|
||||
QP_HANDLE_EXCEPTIONS(
|
||||
unsigned long rx;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
Return (long)(*a)
|
||||
Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999, 2004, 2006 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).
|
||||
@@ -28,10 +28,10 @@ long _Qp_qtox(const long double *a)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_Q(A);
|
||||
long r;
|
||||
unsigned long r;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_RAW_QP(A, a);
|
||||
FP_TO_INT_Q(r, A, 64, 1);
|
||||
QP_HANDLE_EXCEPTIONS(
|
||||
long rx;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -31,13 +31,13 @@ void _Qp_stoq(long double *c, const float a)
|
||||
FP_DECL_Q(C);
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_S(A, a);
|
||||
FP_UNPACK_RAW_S(A, a);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_CONV(Q,S,4,1,C,A);
|
||||
FP_EXTEND(Q,S,4,1,C,A);
|
||||
#else
|
||||
FP_CONV(Q,S,2,1,C,A);
|
||||
FP_EXTEND(Q,S,2,1,C,A);
|
||||
#endif
|
||||
FP_PACK_QP(c, C);
|
||||
FP_PACK_RAW_QP(c, C);
|
||||
QP_HANDLE_EXCEPTIONS(__asm (
|
||||
" fstoq %1, %%f60\n"
|
||||
" std %%f60, [%0]\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (*a) - (*b)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -29,10 +29,10 @@ void _Qp_sub(long double *c, const long double *a, const long double *b)
|
||||
FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_QP(A, a);
|
||||
FP_UNPACK_QP(B, b);
|
||||
FP_UNPACK_SEMIRAW_QP(A, a);
|
||||
FP_UNPACK_SEMIRAW_QP(B, b);
|
||||
FP_SUB_Q(C, A, B);
|
||||
FP_PACK_QP(c, C);
|
||||
FP_PACK_SEMIRAW_QP(c, C);
|
||||
QP_HANDLE_EXCEPTIONS(__asm (
|
||||
" ldd [%1], %%f52\n"
|
||||
" ldd [%1+8], %%f54\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -29,7 +29,7 @@ void _Qp_uitoq(long double *c, const unsigned int a)
|
||||
FP_DECL_Q(C);
|
||||
unsigned int b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 32, int);
|
||||
FP_PACK_QP(c, C);
|
||||
FP_FROM_INT_Q(C, b, 32, unsigned int);
|
||||
FP_PACK_RAW_QP(c, C);
|
||||
QP_NO_EXCEPTIONS;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (long double)(a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -29,7 +29,7 @@ void _Qp_uxtoq(long double *c, const unsigned long a)
|
||||
FP_DECL_Q(C);
|
||||
unsigned long b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 64, long);
|
||||
FP_PACK_QP(c, C);
|
||||
FP_FROM_INT_Q(C, b, 64, unsigned long);
|
||||
FP_PACK_RAW_QP(c, C);
|
||||
QP_NO_EXCEPTIONS;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Software floating-point emulation.
|
||||
(*c) = (long double)(*a)
|
||||
Copyright (C) 1997,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1999,2006 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).
|
||||
@@ -29,7 +29,7 @@ void _Qp_xtoq(long double *c, const long a)
|
||||
FP_DECL_Q(C);
|
||||
long b = a;
|
||||
|
||||
FP_FROM_INT_Q(C, b, 64, long);
|
||||
FP_PACK_QP(c, C);
|
||||
FP_FROM_INT_Q(C, b, 64, unsigned long);
|
||||
FP_PACK_RAW_QP(c, C);
|
||||
QP_NO_EXCEPTIONS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user