diff options
Diffstat (limited to 'soft-fp/extended.h')
-rw-r--r-- | soft-fp/extended.h | 142 |
1 files changed, 71 insertions, 71 deletions
diff --git a/soft-fp/extended.h b/soft-fp/extended.h index c8b1583086..de8c20c0c8 100644 --- a/soft-fp/extended.h +++ b/soft-fp/extended.h @@ -28,15 +28,15 @@ <http://www.gnu.org/licenses/>. */ #if _FP_W_TYPE_SIZE < 32 -#error "Here's a nickel, kid. Go buy yourself a real computer." +# error "Here's a nickel, kid. Go buy yourself a real computer." #endif #if _FP_W_TYPE_SIZE < 64 -#define _FP_FRACTBITS_E (4*_FP_W_TYPE_SIZE) -#define _FP_FRACTBITS_DW_E (8*_FP_W_TYPE_SIZE) +# define _FP_FRACTBITS_E (4*_FP_W_TYPE_SIZE) +# define _FP_FRACTBITS_DW_E (8*_FP_W_TYPE_SIZE) #else -#define _FP_FRACTBITS_E (2*_FP_W_TYPE_SIZE) -#define _FP_FRACTBITS_DW_E (4*_FP_W_TYPE_SIZE) +# define _FP_FRACTBITS_E (2*_FP_W_TYPE_SIZE) +# define _FP_FRACTBITS_DW_E (4*_FP_W_TYPE_SIZE) #endif #define _FP_FRACBITS_E 64 @@ -72,26 +72,26 @@ union _FP_UNION_E XFtype flt; struct _FP_STRUCT_LAYOUT { -#if __BYTE_ORDER == __BIG_ENDIAN +# if __BYTE_ORDER == __BIG_ENDIAN unsigned long pad1 : _FP_W_TYPE_SIZE; unsigned long pad2 : (_FP_W_TYPE_SIZE - 1 - _FP_EXPBITS_E); unsigned long sign : 1; unsigned long exp : _FP_EXPBITS_E; unsigned long frac1 : _FP_W_TYPE_SIZE; unsigned long frac0 : _FP_W_TYPE_SIZE; -#else +# else unsigned long frac0 : _FP_W_TYPE_SIZE; unsigned long frac1 : _FP_W_TYPE_SIZE; unsigned exp : _FP_EXPBITS_E; unsigned sign : 1; -#endif /* not bigendian */ +# endif /* not bigendian */ } bits __attribute__((packed)); }; -#define FP_DECL_E(X) _FP_DECL(4,X) +# define FP_DECL_E(X) _FP_DECL(4,X) -#define FP_UNPACK_RAW_E(X, val) \ +# define FP_UNPACK_RAW_E(X, val) \ do { \ union _FP_UNION_E _flo; _flo.flt = (val); \ \ @@ -102,7 +102,7 @@ union _FP_UNION_E X##_s = _flo.bits.sign; \ } while (0) -#define FP_UNPACK_RAW_EP(X, val) \ +# define FP_UNPACK_RAW_EP(X, val) \ do { \ union _FP_UNION_E *_flo = \ (union _FP_UNION_E *)(val); \ @@ -114,7 +114,7 @@ union _FP_UNION_E X##_s = _flo->bits.sign; \ } while (0) -#define FP_PACK_RAW_E(val, X) \ +# define FP_PACK_RAW_E(val, X) \ do { \ union _FP_UNION_E _flo; \ \ @@ -128,7 +128,7 @@ union _FP_UNION_E (val) = _flo.flt; \ } while (0) -#define FP_PACK_RAW_EP(val, X) \ +# define FP_PACK_RAW_EP(val, X) \ do { \ if (!FP_INHIBIT_RESULTS) \ { \ @@ -144,62 +144,62 @@ union _FP_UNION_E } \ } while (0) -#define FP_UNPACK_E(X,val) \ +# define FP_UNPACK_E(X,val) \ do { \ FP_UNPACK_RAW_E(X,val); \ _FP_UNPACK_CANONICAL(E,4,X); \ } while (0) -#define FP_UNPACK_EP(X,val) \ +# define FP_UNPACK_EP(X,val) \ do { \ FP_UNPACK_RAW_EP(X,val); \ _FP_UNPACK_CANONICAL(E,4,X); \ } while (0) -#define FP_UNPACK_SEMIRAW_E(X,val) \ +# define FP_UNPACK_SEMIRAW_E(X,val) \ do { \ FP_UNPACK_RAW_E(X,val); \ _FP_UNPACK_SEMIRAW(E,4,X); \ } while (0) -#define FP_UNPACK_SEMIRAW_EP(X,val) \ +# define FP_UNPACK_SEMIRAW_EP(X,val) \ do { \ FP_UNPACK_RAW_EP(X,val); \ _FP_UNPACK_SEMIRAW(E,4,X); \ } while (0) -#define FP_PACK_E(val,X) \ +# define FP_PACK_E(val,X) \ do { \ _FP_PACK_CANONICAL(E,4,X); \ FP_PACK_RAW_E(val,X); \ } while (0) -#define FP_PACK_EP(val,X) \ +# define FP_PACK_EP(val,X) \ do { \ _FP_PACK_CANONICAL(E,4,X); \ FP_PACK_RAW_EP(val,X); \ } while (0) -#define FP_PACK_SEMIRAW_E(val,X) \ +# define FP_PACK_SEMIRAW_E(val,X) \ do { \ _FP_PACK_SEMIRAW(E,4,X); \ FP_PACK_RAW_E(val,X); \ } while (0) -#define FP_PACK_SEMIRAW_EP(val,X) \ +# define FP_PACK_SEMIRAW_EP(val,X) \ do { \ _FP_PACK_SEMIRAW(E,4,X); \ FP_PACK_RAW_EP(val,X); \ } while (0) -#define FP_ISSIGNAN_E(X) _FP_ISSIGNAN(E,4,X) -#define FP_NEG_E(R,X) _FP_NEG(E,4,R,X) -#define FP_ADD_E(R,X,Y) _FP_ADD(E,4,R,X,Y) -#define FP_SUB_E(R,X,Y) _FP_SUB(E,4,R,X,Y) -#define FP_MUL_E(R,X,Y) _FP_MUL(E,4,R,X,Y) -#define FP_DIV_E(R,X,Y) _FP_DIV(E,4,R,X,Y) -#define FP_SQRT_E(R,X) _FP_SQRT(E,4,R,X) -#define FP_FMA_E(R,X,Y,Z) _FP_FMA(E,4,8,R,X,Y,Z) +# define FP_ISSIGNAN_E(X) _FP_ISSIGNAN(E,4,X) +# define FP_NEG_E(R,X) _FP_NEG(E,4,R,X) +# define FP_ADD_E(R,X,Y) _FP_ADD(E,4,R,X,Y) +# define FP_SUB_E(R,X,Y) _FP_SUB(E,4,R,X,Y) +# define FP_MUL_E(R,X,Y) _FP_MUL(E,4,R,X,Y) +# define FP_DIV_E(R,X,Y) _FP_DIV(E,4,R,X,Y) +# define FP_SQRT_E(R,X) _FP_SQRT(E,4,R,X) +# define FP_FMA_E(R,X,Y,Z) _FP_FMA(E,4,8,R,X,Y,Z) /* * Square root algorithms: @@ -212,7 +212,7 @@ union _FP_UNION_E * in two UWtype registers instead of four. */ -#define _FP_SQRT_MEAT_E(R, S, T, X, q) \ +# define _FP_SQRT_MEAT_E(R, S, T, X, q) \ do { \ q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \ _FP_FRAC_SRL_4(X, (_FP_WORKBITS)); \ @@ -256,39 +256,39 @@ union _FP_UNION_E } \ } while (0) -#define FP_CMP_E(r,X,Y,un) _FP_CMP(E,4,r,X,Y,un) -#define FP_CMP_EQ_E(r,X,Y) _FP_CMP_EQ(E,4,r,X,Y) -#define FP_CMP_UNORD_E(r,X,Y) _FP_CMP_UNORD(E,4,r,X,Y) +# define FP_CMP_E(r,X,Y,un) _FP_CMP(E,4,r,X,Y,un) +# define FP_CMP_EQ_E(r,X,Y) _FP_CMP_EQ(E,4,r,X,Y) +# define FP_CMP_UNORD_E(r,X,Y) _FP_CMP_UNORD(E,4,r,X,Y) -#define FP_TO_INT_E(r,X,rsz,rsg) _FP_TO_INT(E,4,r,X,rsz,rsg) -#define FP_FROM_INT_E(X,r,rs,rt) _FP_FROM_INT(E,4,X,r,rs,rt) +# define FP_TO_INT_E(r,X,rsz,rsg) _FP_TO_INT(E,4,r,X,rsz,rsg) +# define FP_FROM_INT_E(X,r,rs,rt) _FP_FROM_INT(E,4,X,r,rs,rt) -#define _FP_FRAC_HIGH_E(X) (X##_f[2]) -#define _FP_FRAC_HIGH_RAW_E(X) (X##_f[1]) +# define _FP_FRAC_HIGH_E(X) (X##_f[2]) +# define _FP_FRAC_HIGH_RAW_E(X) (X##_f[1]) -#define _FP_FRAC_HIGH_DW_E(X) (X##_f[4]) +# define _FP_FRAC_HIGH_DW_E(X) (X##_f[4]) #else /* not _FP_W_TYPE_SIZE < 64 */ union _FP_UNION_E { XFtype flt; struct _FP_STRUCT_LAYOUT { -#if __BYTE_ORDER == __BIG_ENDIAN +# if __BYTE_ORDER == __BIG_ENDIAN _FP_W_TYPE pad : (_FP_W_TYPE_SIZE - 1 - _FP_EXPBITS_E); unsigned sign : 1; unsigned exp : _FP_EXPBITS_E; _FP_W_TYPE frac : _FP_W_TYPE_SIZE; -#else +# else _FP_W_TYPE frac : _FP_W_TYPE_SIZE; unsigned exp : _FP_EXPBITS_E; unsigned sign : 1; -#endif +# endif } bits; }; -#define FP_DECL_E(X) _FP_DECL(2,X) +# define FP_DECL_E(X) _FP_DECL(2,X) -#define FP_UNPACK_RAW_E(X, val) \ +# define FP_UNPACK_RAW_E(X, val) \ do { \ union _FP_UNION_E _flo; _flo.flt = (val); \ \ @@ -298,7 +298,7 @@ union _FP_UNION_E X##_s = _flo.bits.sign; \ } while (0) -#define FP_UNPACK_RAW_EP(X, val) \ +# define FP_UNPACK_RAW_EP(X, val) \ do { \ union _FP_UNION_E *_flo = \ (union _FP_UNION_E *)(val); \ @@ -309,7 +309,7 @@ union _FP_UNION_E X##_s = _flo->bits.sign; \ } while (0) -#define FP_PACK_RAW_E(val, X) \ +# define FP_PACK_RAW_E(val, X) \ do { \ union _FP_UNION_E _flo; \ \ @@ -322,7 +322,7 @@ union _FP_UNION_E (val) = _flo.flt; \ } while (0) -#define FP_PACK_RAW_EP(fs, val, X) \ +# define FP_PACK_RAW_EP(fs, val, X) \ do { \ if (!FP_INHIBIT_RESULTS) \ { \ @@ -338,62 +338,62 @@ union _FP_UNION_E } while (0) -#define FP_UNPACK_E(X,val) \ +# define FP_UNPACK_E(X,val) \ do { \ FP_UNPACK_RAW_E(X,val); \ _FP_UNPACK_CANONICAL(E,2,X); \ } while (0) -#define FP_UNPACK_EP(X,val) \ +# define FP_UNPACK_EP(X,val) \ do { \ FP_UNPACK_RAW_EP(X,val); \ _FP_UNPACK_CANONICAL(E,2,X); \ } while (0) -#define FP_UNPACK_SEMIRAW_E(X,val) \ +# define FP_UNPACK_SEMIRAW_E(X,val) \ do { \ FP_UNPACK_RAW_E(X,val); \ _FP_UNPACK_SEMIRAW(E,2,X); \ } while (0) -#define FP_UNPACK_SEMIRAW_EP(X,val) \ +# define FP_UNPACK_SEMIRAW_EP(X,val) \ do { \ FP_UNPACK_RAW_EP(X,val); \ _FP_UNPACK_SEMIRAW(E,2,X); \ } while (0) -#define FP_PACK_E(val,X) \ +# define FP_PACK_E(val,X) \ do { \ _FP_PACK_CANONICAL(E,2,X); \ FP_PACK_RAW_E(val,X); \ } while (0) -#define FP_PACK_EP(val,X) \ +# define FP_PACK_EP(val,X) \ do { \ _FP_PACK_CANONICAL(E,2,X); \ FP_PACK_RAW_EP(val,X); \ } while (0) -#define FP_PACK_SEMIRAW_E(val,X) \ +# define FP_PACK_SEMIRAW_E(val,X) \ do { \ _FP_PACK_SEMIRAW(E,2,X); \ FP_PACK_RAW_E(val,X); \ } while (0) -#define FP_PACK_SEMIRAW_EP(val,X) \ +# define FP_PACK_SEMIRAW_EP(val,X) \ do { \ _FP_PACK_SEMIRAW(E,2,X); \ FP_PACK_RAW_EP(val,X); \ } while (0) -#define FP_ISSIGNAN_E(X) _FP_ISSIGNAN(E,2,X) -#define FP_NEG_E(R,X) _FP_NEG(E,2,R,X) -#define FP_ADD_E(R,X,Y) _FP_ADD(E,2,R,X,Y) -#define FP_SUB_E(R,X,Y) _FP_SUB(E,2,R,X,Y) -#define FP_MUL_E(R,X,Y) _FP_MUL(E,2,R,X,Y) -#define FP_DIV_E(R,X,Y) _FP_DIV(E,2,R,X,Y) -#define FP_SQRT_E(R,X) _FP_SQRT(E,2,R,X) -#define FP_FMA_E(R,X,Y,Z) _FP_FMA(E,2,4,R,X,Y,Z) +# define FP_ISSIGNAN_E(X) _FP_ISSIGNAN(E,2,X) +# define FP_NEG_E(R,X) _FP_NEG(E,2,R,X) +# define FP_ADD_E(R,X,Y) _FP_ADD(E,2,R,X,Y) +# define FP_SUB_E(R,X,Y) _FP_SUB(E,2,R,X,Y) +# define FP_MUL_E(R,X,Y) _FP_MUL(E,2,R,X,Y) +# define FP_DIV_E(R,X,Y) _FP_DIV(E,2,R,X,Y) +# define FP_SQRT_E(R,X) _FP_SQRT(E,2,R,X) +# define FP_FMA_E(R,X,Y,Z) _FP_FMA(E,2,4,R,X,Y,Z) /* * Square root algorithms: @@ -403,7 +403,7 @@ union _FP_UNION_E * in one UWtype registers instead of two, although we don't * have to. */ -#define _FP_SQRT_MEAT_E(R, S, T, X, q) \ +# define _FP_SQRT_MEAT_E(R, S, T, X, q) \ do { \ q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \ _FP_FRAC_SRL_2(X, (_FP_WORKBITS)); \ @@ -428,16 +428,16 @@ union _FP_UNION_E } \ } while (0) -#define FP_CMP_E(r,X,Y,un) _FP_CMP(E,2,r,X,Y,un) -#define FP_CMP_EQ_E(r,X,Y) _FP_CMP_EQ(E,2,r,X,Y) -#define FP_CMP_UNORD_E(r,X,Y) _FP_CMP_UNORD(E,2,r,X,Y) +# define FP_CMP_E(r,X,Y,un) _FP_CMP(E,2,r,X,Y,un) +# define FP_CMP_EQ_E(r,X,Y) _FP_CMP_EQ(E,2,r,X,Y) +# define FP_CMP_UNORD_E(r,X,Y) _FP_CMP_UNORD(E,2,r,X,Y) -#define FP_TO_INT_E(r,X,rsz,rsg) _FP_TO_INT(E,2,r,X,rsz,rsg) -#define FP_FROM_INT_E(X,r,rs,rt) _FP_FROM_INT(E,2,X,r,rs,rt) +# define FP_TO_INT_E(r,X,rsz,rsg) _FP_TO_INT(E,2,r,X,rsz,rsg) +# define FP_FROM_INT_E(X,r,rs,rt) _FP_FROM_INT(E,2,X,r,rs,rt) -#define _FP_FRAC_HIGH_E(X) (X##_f1) -#define _FP_FRAC_HIGH_RAW_E(X) (X##_f0) +# define _FP_FRAC_HIGH_E(X) (X##_f1) +# define _FP_FRAC_HIGH_RAW_E(X) (X##_f0) -#define _FP_FRAC_HIGH_DW_E(X) (X##_f[2]) +# define _FP_FRAC_HIGH_DW_E(X) (X##_f[2]) #endif /* not _FP_W_TYPE_SIZE < 64 */ |