1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

soft-fp: split FP_INIT_EXCEPTIONS from FP_INIT_ROUNDMODE.

This commit is contained in:
Joseph Myers
2013-10-10 11:40:25 +00:00
parent 2ae21ed2d2
commit dcc2dd3f46
5 changed files with 17 additions and 3 deletions

View File

@ -1,5 +1,11 @@
2013-10-10 Joseph Myers <joseph@codesourcery.com> 2013-10-10 Joseph Myers <joseph@codesourcery.com>
* soft-fp/soft-fp.h (FP_INIT_EXCEPTIONS): New macro.
* soft-fp/extenddftf2.c (__extenddftf2): Use FP_INIT_EXCEPTIONS
instead of FP_INIT_ROUNDMODE.
* soft-fp/extendsfdf2.c (__extendsfdf2): Likewise.
* soft-fp/extendsftf2.c (__extendsftf2): Likewise.
[BZ #16034] [BZ #16034]
* soft-fp/op-common.h (_FP_NEG): Document input as raw. Do not * soft-fp/op-common.h (_FP_NEG): Document input as raw. Do not
copy class of input value. copy class of input value.

View File

@ -39,7 +39,7 @@ TFtype __extenddftf2(DFtype a)
FP_DECL_Q(R); FP_DECL_Q(R);
TFtype r; TFtype r;
FP_INIT_ROUNDMODE; FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q #if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
FP_EXTEND(Q,D,4,2,R,A); FP_EXTEND(Q,D,4,2,R,A);

View File

@ -39,7 +39,7 @@ DFtype __extendsfdf2(SFtype a)
FP_DECL_D(R); FP_DECL_D(R);
DFtype r; DFtype r;
FP_INIT_ROUNDMODE; FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D #if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
FP_EXTEND(D,S,2,1,R,A); FP_EXTEND(D,S,2,1,R,A);

View File

@ -39,7 +39,7 @@ TFtype __extendsftf2(SFtype a)
FP_DECL_Q(R); FP_DECL_Q(R);
TFtype r; TFtype r;
FP_INIT_ROUNDMODE; FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q #if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
FP_EXTEND(Q,S,4,1,R,A); FP_EXTEND(Q,S,4,1,R,A);

View File

@ -101,10 +101,18 @@
#define FP_DECL_EX int _fex = 0 #define FP_DECL_EX int _fex = 0
#endif #endif
/* Initialize any machine-specific state used in FP_ROUNDMODE,
FP_TRAPPING_EXCEPTIONS or FP_HANDLE_EXCEPTIONS. */
#ifndef FP_INIT_ROUNDMODE #ifndef FP_INIT_ROUNDMODE
#define FP_INIT_ROUNDMODE do {} while (0) #define FP_INIT_ROUNDMODE do {} while (0)
#endif #endif
/* Initialize any machine-specific state used in
FP_HANDLE_EXCEPTIONS. */
#ifndef FP_INIT_EXCEPTIONS
#define FP_INIT_EXCEPTIONS FP_INIT_ROUNDMODE
#endif
#ifndef FP_HANDLE_EXCEPTIONS #ifndef FP_HANDLE_EXCEPTIONS
#define FP_HANDLE_EXCEPTIONS do {} while (0) #define FP_HANDLE_EXCEPTIONS do {} while (0)
#endif #endif