summary refs log tree commit diff
path: root/sysdeps/sparc/sparc64/soft-fp
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-02-25 01:29:59 +0000
committerRoland McGrath <roland@gnu.org>2006-02-25 01:29:59 +0000
commitfe0b1e854ad32a69b26041031c3382b9eb772bb5 (patch)
tree85bf81081191070920c32671fa2d47f3242ce1e9 /sysdeps/sparc/sparc64/soft-fp
parent03e81bcee66fe606d4f2b4b363b0fff47a29b247 (diff)
downloadglibc-fe0b1e854ad32a69b26041031c3382b9eb772bb5.tar.gz
glibc-fe0b1e854ad32a69b26041031c3382b9eb772bb5.tar.xz
glibc-fe0b1e854ad32a69b26041031c3382b9eb772bb5.zip
* 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.
Diffstat (limited to 'sysdeps/sparc/sparc64/soft-fp')
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_add.c8
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c10
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_itoq.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtod.c10
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtos.c10
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c4
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c4
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtox.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_stoq.c10
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_sub.c8
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c6
14 files changed, 50 insertions, 50 deletions
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_add.c b/sysdeps/sparc/sparc64/soft-fp/qp_add.c
index bcfd0ff281..eced23fad8 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_add.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_add.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"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
index 9ba2fac9ce..63f3d742aa 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
@@ -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"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
index dd28b6a56e..310d70c77a 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
@@ -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;
 }
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
index c86967a5d4..2e5edadcb7 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtod.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 _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"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
index cf8aba73c6..a40253654a 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
@@ -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;
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
index 52d52d6830..f5f9cdb190 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
@@ -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"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
index abee50b06a..884d23e527 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
@@ -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;
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
index 87c8478880..4b6f265a47 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
@@ -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;
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
index 35481196ee..fac6166c2c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
@@ -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;
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
index 655813186e..1a4a03df88 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
@@ -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"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c b/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
index b1ed15a588..056224fb46 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_sub.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_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"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
index d143ba28d3..a3bfaedfc9 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
@@ -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;
 }
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
index 302147711c..f691e4d36f 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
@@ -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;
 }
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
index 9b4d16969e..b7a6102693 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
@@ -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;
 }