aboutsummaryrefslogtreecommitdiff
path: root/soft-fp/op-1.h
AgeCommit message (Collapse)Author
2018-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
* All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
2017-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2016-01-04Update copyright dates with scripts/update-copyrights.Joseph Myers
2015-03-10soft-fp: Use multiple-include guards.Joseph Myers
This patch makes soft-fp headers consistently use multiple-include guards, something previously done mainly only in the Linux kernel version. The guard macros aren't the same as those used in the Linux kernel, but there seems to be enough variation in such guards in Linux kernel code that hopefully this version will be acceptable there. Tested for powerpc-nofpu that installed stripped shared libraries are unchanged by this patch. * soft-fp/double.h [SOFT_FP_DOUBLE_H]: New multiple-include guard. * soft-fp/extended.h [SOFT_FP_EXTENDED_H]: Likewise. * soft-fp/op-1.h [SOFT_FP_OP_1_H]: Likewise. * soft-fp/op-2.h [SOFT_FP_OP_2_H]: Likewise. * soft-fp/op-4.h [SOFT_FP_OP_4_H]: Likewise. * soft-fp/op-8.h [SOFT_FP_OP_8_H]: Likewise. * soft-fp/op-common.h [SOFT_FP_OP_COMMON_H]: Likewise. * soft-fp/quad.h [SOFT_FP_QUAD_H]: Likewise. * soft-fp/single.h [SOFT_FP_SINGLE_H]: Likewise. * soft-fp/soft-fp.h (SOFT_FP_H): Define to 1 rather than empty. Add comment on closing #endif.
2015-03-07soft-fp: Support conditional zero-initialization in declarations.Joseph Myers
In the Linux kernel, some architectures have a single function that uses different kinds of unpacking and packing depending on the instruction being emulated, meaning it is not readily visible to the compiler that variables from _FP_DECL and _FP_FRAC_DECL_* macros are only used in cases where they were initialized. The existing copy of soft-fp in the Linux kernel uses zero-initialization to avoid warnings in this case, so while frowned upon as a warning suppression mechanism in code built for glibc it seems appropriate to have such zero-initialization conditional on __KERNEL__. This patch duly adds it, via a macro _FP_ZERO_INIT that expands to empty for non-kernel compilations. Tested for powerpc-nofpu that installed stripped shared libraries are unchanged by this patch. * soft-fp/soft-fp.h (_FP_ZERO_INIT): New macro. Define depending on [__KERNEL__]. * soft-fp/op-1.h (_FP_FRAC_DECL_1): Use _FP_ZERO_INIT. * soft-fp/op-2.h (_FP_FRAC_DECL_2): Likewise. * soft-fp/op-common.h (_FP_DECL): Likewise.
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers
2014-10-09soft-fp: Use parentheses around macro arguments.Joseph Myers
This patch cleans up the soft-fp code to use parentheses around macro arguments (where possible; many macro arguments are identifiers used with ## rather than arbitrary expressions, so cannot be put in parentheses). (I'm not aware of any bugs caused by the lack of parentheses, but this is generally good practice. The patch is not exhaustive regarding internal macros where the arguments always come directly from the mantissa of a floating-point number, although probably those should be cleaned up in this regard as well.) Tested for powerpc-nofpu that the installed shared libraries are unchanged by this patch. * soft-fp/double.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_D): Use parentheses around macro arguments. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (_FP_SQRT_MEAT_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_EQ_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_UNORD_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_TO_INT_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_FROM_INT_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (_FP_SQRT_MEAT_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_EQ_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_UNORD_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_TO_INT_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_FROM_INT_D): Likewise. * soft-fp/extended.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (_FP_SQRT_MEAT_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_EQ_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_UNORD_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_TO_INT_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_FROM_INT_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (_FP_SQRT_MEAT_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_EQ_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_UNORD_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_TO_INT_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_FROM_INT_E): Likewise. * soft-fp/op-1.h (_FP_FRAC_SRST_1): Likewise. (_FP_FRAC_SRS_1): Likewise. (_FP_FRAC_CLZ_1): Likewise. (_FP_MUL_MEAT_1_imm): Likewise. (_FP_MUL_MEAT_1_wide): Likewise. (_FP_MUL_MEAT_1_hard): Likewise. (_FP_SQRT_MEAT_1): Likewise. (_FP_FRAC_ASSEMBLE_1): Likewise. (_FP_FRAC_DISASSEMBLE_1): Likewise. * soft-fp/op-2.h (_FP_FRAC_CLZ_2): Likewise. (__FP_CLZ_2): Likewise. (_FP_MUL_MEAT_2_wide): Likewise. (_FP_MUL_MEAT_2_wide_3mul): Likewise. (_FP_MUL_MEAT_2_gmp): Likewise. (_FP_MUL_MEAT_2_120_240_double): Likewise. (_FP_SQRT_MEAT_2): Likewise. (_FP_FRAC_ASSEMBLE_2): Likewise. (_FP_FRAC_DISASSEMBLE_2): Likewise. * soft-fp/op-4.h (_FP_FRAC_SRS_4): Likewise. (_FP_FRAC_CLZ_4): Likewise. (_FP_MUL_MEAT_4_wide): Likewise. (_FP_MUL_MEAT_4_gmp): Likewise. (_FP_SQRT_MEAT_4): Likewise. (_FP_FRAC_ASSEMBLE_4): Likewise. (_FP_FRAC_DISASSEMBLE_4): Likewise. * soft-fp/op-common.h (_FP_CMP): Likewise. (_FP_CMP_EQ): Likewise. (_FP_CMP_UNORD): Likewise. (_FP_TO_INT): Likewise. (_FP_FROM_INT): Likewise. [!__FP_CLZ] (__FP_CLZ): Likewise. (_FP_DIV_HELP_imm): Likewise. * soft-fp/quad.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (_FP_SQRT_MEAT_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_EQ_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_UNORD_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_TO_INT_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_FROM_INT_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (_FP_SQRT_MEAT_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_EQ_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_UNORD_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_TO_INT_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_FROM_INT_Q): Likewise. * soft-fp/single.h (FP_UNPACK_RAW_S): Likewise. (FP_UNPACK_RAW_SP): Likewise. (FP_PACK_RAW_S): Likewise. (FP_PACK_RAW_SP): Likewise. (FP_UNPACK_S): Likewise. (FP_UNPACK_SP): Likewise. (FP_UNPACK_SEMIRAW_S): Likewise. (FP_UNPACK_SEMIRAW_SP): Likewise. (FP_PACK_S): Likewise. (FP_PACK_SP): Likewise. (FP_PACK_SEMIRAW_S): Likewise. (FP_PACK_SEMIRAW_SP): Likewise. (_FP_SQRT_MEAT_S): Likewise. (FP_CMP_S): Likewise. (FP_CMP_EQ_S): Likewise. (FP_CMP_UNORD_S): Likewise. (FP_TO_INT_S): Likewise. (FP_FROM_INT_S): Likewise.
2014-09-17soft-fp: Fix comment formatting.Joseph Myers
This patch fixes formatting of comments in soft-fp (in particular, the normal style in glibc does not have a leading '*' on each line, and comments should start with capital letters and end with ". */"). Tested for powerpc-nofpu that the disassembly of installed shared libraries is unchanged by this patch. * soft-fp/extended.h: Fix comment formatting. * soft-fp/op-1.h: Likewise. * soft-fp/op-2.h: Likewise. * soft-fp/op-4.h: Likewise. * soft-fp/op-8.h: Likewise. * soft-fp/op-common.h: Likewise. * soft-fp/soft-fp.h: Likewise.
2014-06-30Rename soft-fp op-[1248].h variables to avoid risk of shadowing.Joseph Myers
Continuing the soft-fp variable renaming from <https://sourceware.org/ml/libc-alpha/2014-06/msg00434.html> to avoid shadowing if two macros happen to use the same variable name and that variable is involved in an argument one of those macros passes to another, this patch renames variables in op-[1248].h. (The two patches are to different files and are independent of each other.) Tested for powerpc32 (soft-float) and mips64 that this makes no change to the disassembly of installed shared libraries. * soft-fp/op-1.h (_FP_UNPACK_RAW_1): Rename local variables to include macro name. (_FP_UNPACK_RAW_1_P): Likewise. (_FP_PACK_RAW_1): Likewise. (_FP_PACK_RAW_1_P): Likewise. (_FP_MUL_MEAT_1_wide): Likewise. (_FP_MUL_MEAT_DW_1_hard): Likewise. (_FP_MUL_MEAT_1_hard): Likewise. (_FP_DIV_MEAT_1_imm): Likewise. (_FP_DIV_MEAT_1_udiv_norm): Likewise. (_FP_DIV_MEAT_1_udiv): Likewise. * soft-fp/op-2.h (__FP_FRAC_DEC_2): Likewise. (_FP_UNPACK_RAW_2): Likewise. (_FP_UNPACK_RAW_2_P): Likewise. (_FP_PACK_RAW_2): Likewise. (_FP_PACK_RAW_2_P): Likewise. (_FP_MUL_MEAT_DW_2_wide): Likewise. (_FP_MUL_MEAT_2_wide): Likewise. (_FP_MUL_MEAT_DW_2_wide_3mul): Likewise. (_FP_MUL_MEAT_2_wide_3mul): Likewise. (_FP_MUL_MEAT_DW_2_gmp): Likewise. (_FP_MUL_MEAT_2_gmp): Likewise. (_FP_DIV_MEAT_2_udiv): Likewise. * soft-fp/op-4.h (_FP_FRAC_SLL_4): Likewise. (_FP_FRAC_SRL_4): Likewise. (_FP_FRAC_SRST_4): Likewise. (_FP_FRAC_SRS_4): Likewise. (_FP_UNPACK_RAW_4): Likewise. (_FP_UNPACK_RAW_4_P): Likewise. (_FP_PACK_RAW_4): Likewise. (_FP_PACK_RAW_4_P): Likewise. (_FP_MUL_MEAT_DW_4_wide): Likewise. (_FP_MUL_MEAT_4_wide): Likewise. (_FP_MUL_MEAT_4_gmp): Likewise. (umul_ppppmnnn): Likewise. (_FP_DIV_MEAT_4_udiv): Likewise. (__FP_FRAC_ADD_4): Likewise. (__FP_FRAC_SUB_3): Likewise. (__FP_FRAC_SUB_4): Likewise. (__FP_FRAC_DEC_3): Likewise. (__FP_FRAC_DEC_4): Likewise. (__FP_FRAC_ADDI_4): Likewise. * soft-fp/op-8.h (_FP_FRAC_SLL_8): Likewise. (_FP_FRAC_SRL_8): Likewise. (_FP_FRAC_SRS_8): Likewise.
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae
2013-10-16soft-fp: fix horizontal whitespace.Joseph Myers
2013-10-15soft-fp: fix vertical whitespace and indentation.Joseph Myers
2013-07-02Implement fma in soft-fp.Joseph Myers
2013-06-06Fix leading whitespaces.Ondrej Bilka
2013-06-05Remove trailing whitespace.Joseph Myers
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2006-04-04* soft-fp/adddf3.c: Add libgcc exception. Update FSF address.Roland McGrath
* soft-fp/addsf3.c: Likewise. * soft-fp/addtf3.c: Likewise. * soft-fp/divdf3.c: Likewise. * soft-fp/divsf3.c: Likewise. * soft-fp/divtf3.c: Likewise. * soft-fp/double.h: Likewise. * soft-fp/eqdf2.c: Likewise. * soft-fp/eqsf2.c: Likewise. * soft-fp/eqtf2.c: Likewise. * soft-fp/extenddftf2.c: Likewise. * soft-fp/extended.h: Likewise. * soft-fp/extendsfdf2.c: Likewise. * soft-fp/extendsftf2.c: Likewise. * soft-fp/fixdfdi.c: Likewise. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * soft-fp/fixunsdfdi.c: Likewise. * soft-fp/fixunsdfsi.c: Likewise. * soft-fp/fixunssfdi.c: Likewise. * soft-fp/fixunssfsi.c: Likewise. * soft-fp/fixunstfdi.c: Likewise. * soft-fp/fixunstfsi.c: Likewise. * soft-fp/floatdidf.c: Likewise. * soft-fp/floatdisf.c: Likewise. * soft-fp/floatditf.c: Likewise. * soft-fp/floatsidf.c: Likewise. * soft-fp/floatsisf.c: Likewise. * soft-fp/floatsitf.c: Likewise. * soft-fp/floatundidf.c: Likewise. * soft-fp/floatundisf.c: Likewise. * soft-fp/floatunditf.c: Likewise. * soft-fp/floatunsidf.c: Likewise. * soft-fp/floatunsisf.c: Likewise. * soft-fp/floatunsitf.c: Likewise. * soft-fp/gedf2.c: Likewise. * soft-fp/gesf2.c: Likewise. * soft-fp/getf2.c: Likewise. * soft-fp/ledf2.c: Likewise. * soft-fp/lesf2.c: Likewise. * soft-fp/letf2.c: Likewise. * soft-fp/muldf3.c: Likewise. * soft-fp/mulsf3.c: Likewise. * soft-fp/multf3.c: Likewise. * soft-fp/negdf2.c: Likewise. * soft-fp/negsf2.c: Likewise. * soft-fp/negtf2.c: Likewise. * soft-fp/op-1.h: Likewise. * soft-fp/op-2.h: Likewise. * soft-fp/op-4.h: Likewise. * soft-fp/op-8.h: Likewise. * soft-fp/op-common.h: Likewise. * soft-fp/quad.h: Likewise. * soft-fp/single.h: Likewise. * soft-fp/soft-fp.h: Likewise. * soft-fp/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-25* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: Moved to ...Roland McGrath
* 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.
2004-12-22(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper
2007-07-122.5-18.1Jakub Jelinek
2002-05-21Update.Ulrich Drepper
2002-05-17 David S. Miller <davem@redhat.com> * sysdeps/unix/sysv/linux/sparc/fork.S: Define _internal aliases. 2002-05-16 David S. Miller <davem@redhat.com> * sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define. (elf_machine_dynamic): Use it to force PIC register to be loaded. (elf_machine_load_address): Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes. * sysdeps/sparc/sparc64/strncmp.S: When second argument pointer is unaligned, do not forget to fully initialize %g1 magic value. * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf register definitions and provide 32-bit variants of structures during 64-bit builds. * soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define. * soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define. * soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define. * soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if _FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it. (_FP_FROM_INT): Perform right shifts on unsigned integer type. Do not clear implicit one bit here, it must be done post-rounding. Only pad to the left using left shift if value uses less than the available fractional bits.
2001-07-06Update to LGPL v2.1.Andreas Jaeger
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
2000-01-04Update.Ulrich Drepper
2000-01-04 Andreas Jaeger <aj@suse.de> * nss/nss_db/dummy-db.h (struct db24): Add missing field flags. (struct db27): Add missing fields byteswapped, join and flags; remove wrong member handleq. (struct dbc27): Correct lock field. * nss/makedb.c: Remove __P. 2000-01-04 Andreas Jaeger <aj@suse.de> * nss/nss_db/db-open.c (internal_setent): Check for db_open for success, fix a memory leak and clean up function. 2000-01-04 Ulrich Drepper <drepper@cygnus.com> * Makefile (install): Pass $(install_root) to ldconfig. Patch by Akira YOSHIYAMA <yosshy@tkf.att.ne.jp>. 2000-01-03 Jakub Jelinek <jakub@redhat.com> * soft-fp/op-1.h: Fix division for machines using not normalizing version of udiv_qrnnd in longlong.h. * soft-fp/sysdeps/mips/sfp-machine.h: Likewise. * soft-fp/sysdeps/mips/mips64/sfp-machine.h: Likewise. * soft-fp/sysdeps/sparc/sparc64/sfp-machine.h: Likewise. Patch by Eddie C. Dost <ecd@skynet.be>. * soft-fp/soft-fp.h (QItype, UQItype): New types used by longlong.h. 2000-01-03 Andreas Schwab <schwab@suse.de> * sysdeps/generic/dl-sysdep.c: Initialize __libc_multiple_libcs, needed for change in common symbol handing in newer binutils.
1999-12-29Update.Ulrich Drepper
1999-12-29 Ulrich Drepper <drepper@cygnus.com> * soft-fp/*: Tons of new files to implement floating-point arithmetic in software. Contributed by Richard Henderson, Jakub Jelinek and others.