Go to the source code of this file.
|
#define | _FP_DECL(wc, X) |
|
#define | _FP_UNPACK_CANONICAL(fs, wc, X) |
|
#define | _FP_PACK_CANONICAL(fs, wc, X) |
|
#define | _FP_ISSIGNAN(fs, wc, X) |
|
#define | _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP) |
|
#define | _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL(fs, wc, R, X, Y, '+') |
|
#define | _FP_SUB(fs, wc, R, X, Y) |
|
#define | _FP_NEG(fs, wc, R, X) |
|
#define | _FP_MUL(fs, wc, R, X, Y) |
|
#define | _FP_DIV(fs, wc, R, X, Y) |
|
#define | _FP_CMP(fs, wc, ret, X, Y, un) |
|
#define | _FP_CMP_EQ(fs, wc, ret, X, Y) |
|
#define | _FP_SQRT(fs, wc, R, X) |
|
#define | _FP_TO_INT(fs, wc, r, X, rsize, rsigned) |
|
#define | _FP_TO_INT_ROUND(fs, wc, r, X, rsize, rsigned) |
|
#define | _FP_FROM_INT(fs, wc, X, r, rsize, rtype) |
|
#define | FP_CONV(dfs, sfs, dwc, swc, D, S) |
|
#define | __FP_CLZ(r, x) |
|
#define | _FP_DIV_HELP_imm(q, r, n, d) |
|
#define __FP_CLZ |
( |
|
r, |
|
|
|
x |
|
) |
| |
Value:do { \
if (_t > 0xffff)
r -= 16; \
if (_t > 0xffff) _t >>= 16; \
if (_t > 0xff) _t >>= 8; \
if (_t & 0xf0) _t >>= 4; \
if (_t & 0
xc) _t >>= 2; \
} while (0)
Definition at line 832 of file op-common.h.
#define _FP_ADD_INTERNAL |
( |
|
fs, |
|
|
|
wc, |
|
|
|
R, |
|
|
|
X, |
|
|
|
Y, |
|
|
|
OP |
|
) |
| |
#define _FP_CMP |
( |
|
fs, |
|
|
|
wc, |
|
|
|
ret, |
|
|
|
X, |
|
|
|
Y, |
|
|
|
un |
|
) |
| |
#define _FP_CMP_EQ |
( |
|
fs, |
|
|
|
wc, |
|
|
|
ret, |
|
|
|
X, |
|
|
|
Y |
|
) |
| |
Value:do { \
\
if ((
X##_e == _FP_EXPMAX_##
fs && !_FP_FRAC_ZEROP_##
wc(
X)) \
|| (Y##_e == _FP_EXPMAX_##
fs && !_FP_FRAC_ZEROP_##
wc(Y))) \
{ \
ret = 1; \
} \
else \
{ \
&& _FP_FRAC_EQ_##
wc(
X, Y) \
&& (
X##_s == Y##_s || !
X##_e && _FP_FRAC_ZEROP_##
wc(
X))); \
} \
} while (0)
Definition at line 566 of file op-common.h.
#define _FP_DECL |
( |
|
wc, |
|
|
|
X |
|
) |
| |
#define _FP_DIV |
( |
|
fs, |
|
|
|
wc, |
|
|
|
R, |
|
|
|
X, |
|
|
|
Y |
|
) |
| |
#define _FP_DIV_HELP_imm |
( |
|
q, |
|
|
|
r, |
|
|
|
n, |
|
|
|
d |
|
) |
| |
Value:do { \
{ \
else \
X##_e = rsize -
X##_e - 1;
\
if (_FP_FRACBITS_##
fs < rsize && _FP_WFRACBITS_##
fs <=
X##_e) \
__FP_FRAC_SRS_1(ur_, (
X##_e - _FP_WFRACBITS_##
fs + 1), rsize);\
_FP_FRAC_DISASSEMBLE_##
wc(
X, ur_, rsize); \
if ((_FP_WFRACBITS_##
fs -
X##_e - 1) > 0) \
_FP_FRAC_SLL_##
wc(
X, (_FP_WFRACBITS_##
fs -
X##_e - 1)); \
} \
else \
{ \
} \
} while (0)
Definition at line 782 of file op-common.h.
#define _FP_ISSIGNAN |
( |
|
fs, |
|
|
|
wc, |
|
|
|
X |
|
) |
| |
Value:({ \
int __ret = 0; \
if (
X##_e == _FP_EXPMAX_##
fs) \
{ \
if (!_FP_FRAC_ZEROP_##
wc(
X) \
&& !(_FP_FRAC_HIGH_RAW_##
fs(
X) & _FP_QNANBIT_##
fs)) \
__ret = 1; \
} \
__ret; \
})
Definition at line 209 of file op-common.h.
#define _FP_MUL |
( |
|
fs, |
|
|
|
wc, |
|
|
|
R, |
|
|
|
X, |
|
|
|
Y |
|
) |
| |
#define _FP_NEG |
( |
|
fs, |
|
|
|
wc, |
|
|
|
R, |
|
|
|
X |
|
) |
| |
Value:do { \
_FP_FRAC_COPY_##
wc(
R,
X); \
} while (0)
Definition at line 380 of file op-common.h.
#define _FP_PACK_CANONICAL |
( |
|
fs, |
|
|
|
wc, |
|
|
|
X |
|
) |
| |
#define _FP_SQRT |
( |
|
fs, |
|
|
|
wc, |
|
|
|
R, |
|
|
|
X |
|
) |
| |
#define _FP_SUB |
( |
|
fs, |
|
|
|
wc, |
|
|
|
R, |
|
|
|
X, |
|
|
|
Y |
|
) |
| |
Value:do { \
_FP_ADD_INTERNAL(fs, wc, R, X, Y, '-'); \
} while (0)
Definition at line 368 of file op-common.h.
#define _FP_TO_INT |
( |
|
fs, |
|
|
|
wc, |
|
|
|
r, |
|
|
|
X, |
|
|
|
rsize, |
|
|
|
rsigned |
|
) |
| |
#define _FP_TO_INT_ROUND |
( |
|
fs, |
|
|
|
wc, |
|
|
|
r, |
|
|
|
X, |
|
|
|
rsize, |
|
|
|
rsigned |
|
) |
| |
#define _FP_UNPACK_CANONICAL |
( |
|
fs, |
|
|
|
wc, |
|
|
|
X |
|
) |
| |
#define FP_CONV |
( |
|
dfs, |
|
|
|
sfs, |
|
|
|
dwc, |
|
|
|
swc, |
|
|
|
D, |
|
|
|
S |
|
) |
| |
Value:do { \
_FP_FRAC_CONV_##dwc##
_##swc(dfs, sfs,
D,
S); \
} while (0)
Definition at line 815 of file op-common.h.