Lines Matching refs:X
32 #define _FP_FRAC_DECL_2(X) \ argument
33 _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
35 #define _FP_FRAC_SET_2(X, I) __FP_FRAC_SET_2 (X, I) argument
36 #define _FP_FRAC_HIGH_2(X) (X##_f1) argument
37 #define _FP_FRAC_LOW_2(X) (X##_f0) argument
38 #define _FP_FRAC_WORD_2(X, w) (X##_f##w) argument
40 #define _FP_FRAC_SLL_2(X, N) \ argument
45 X##_f1 = X##_f1 + X##_f1 + (((_FP_WS_TYPE) (X##_f0)) < 0); \
46 X##_f0 += X##_f0; \
50 X##_f1 = X##_f1 << (N) | X##_f0 >> (_FP_W_TYPE_SIZE - (N)); \
51 X##_f0 <<= (N); \
56 X##_f1 = X##_f0 << ((N) - _FP_W_TYPE_SIZE); \
57 X##_f0 = 0; \
61 #define _FP_FRAC_SRL_2(X, N) \ argument
64 X##_f0 = X##_f0 >> (N) | X##_f1 << (_FP_W_TYPE_SIZE - (N)); \
65 X##_f1 >>= (N); \
68 X##_f0 = X##_f1 >> ((N) - _FP_W_TYPE_SIZE); \
69 X##_f1 = 0; \
73 #define _FP_FRAC_SRST_2(X, S, N, sz) \ argument
77 ? X##_f0 & 1 \
78 : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0); \
79 X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N)); \
80 X##_f1 >>= (N); \
85 : (X##_f1 << (2*_FP_W_TYPE_SIZE - (N)))) \
86 | X##_f0) != 0); \
87 X##_f0 = (X##_f1 >> ((N) - _FP_W_TYPE_SIZE)); \
88 X##_f1 = 0; \
91 #define _FP_FRAC_SRS_2(X, N, sz) \ argument
94 X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
96 ? X##_f0 & 1 \
97 : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
98 X##_f1 >>= (N); \
101 X##_f0 = (X##_f1 >> ((N) - _FP_W_TYPE_SIZE) \
104 : (X##_f1 << (2*_FP_W_TYPE_SIZE - (N)))) \
105 | X##_f0) != 0)); \
106 X##_f1 = 0; \
109 #define _FP_FRAC_ADDI_2(X, I) \ argument
110 __FP_FRAC_ADDI_2 (X##_f1, X##_f0, I)
112 #define _FP_FRAC_ADD_2(R, X, Y) \ argument
113 __FP_FRAC_ADD_2 (R##_f1, R##_f0, X##_f1, X##_f0, Y##_f1, Y##_f0)
115 #define _FP_FRAC_SUB_2(R, X, Y) \ argument
116 __FP_FRAC_SUB_2 (R##_f1, R##_f0, X##_f1, X##_f0, Y##_f1, Y##_f0)
118 #define _FP_FRAC_DEC_2(X, Y) \ argument
119 __FP_FRAC_DEC_2 (X##_f1, X##_f0, Y##_f1, Y##_f0)
121 #define _FP_FRAC_CLZ_2(R, X) \ argument
124 if (X##_f1) \
125 __FP_CLZ ((R), X##_f1); \
128 __FP_CLZ ((R), X##_f0); \
135 #define _FP_FRAC_NEGP_2(X) ((_FP_WS_TYPE) X##_f1 < 0) argument
136 #define _FP_FRAC_ZEROP_2(X) ((X##_f1 | X##_f0) == 0) argument
137 #define _FP_FRAC_OVERP_2(fs, X) (_FP_FRAC_HIGH_##fs (X) & _FP_OVERFLOW_##fs) argument
138 #define _FP_FRAC_CLEAR_OVERP_2(fs, X) (_FP_FRAC_HIGH_##fs (X) &= ~_FP_OVERFLOW_##fs) argument
139 #define _FP_FRAC_HIGHBIT_DW_2(fs, X) \ argument
140 (_FP_FRAC_HIGH_DW_##fs (X) & _FP_HIGHBIT_DW_##fs)
141 #define _FP_FRAC_EQ_2(X, Y) (X##_f1 == Y##_f1 && X##_f0 == Y##_f0) argument
142 #define _FP_FRAC_GT_2(X, Y) \ argument
143 (X##_f1 > Y##_f1 || (X##_f1 == Y##_f1 && X##_f0 > Y##_f0))
144 #define _FP_FRAC_GE_2(X, Y) \ argument
145 (X##_f1 > Y##_f1 || (X##_f1 == Y##_f1 && X##_f0 >= Y##_f0))
153 #define __FP_FRAC_SET_2(X, I1, I0) (X##_f0 = I0, X##_f1 = I1) argument
209 #define _FP_UNPACK_RAW_2(fs, X, val) \ argument
215 X##_f0 = _FP_UNPACK_RAW_2_flo.bits.frac0; \
216 X##_f1 = _FP_UNPACK_RAW_2_flo.bits.frac1; \
217 X##_e = _FP_UNPACK_RAW_2_flo.bits.exp; \
218 X##_s = _FP_UNPACK_RAW_2_flo.bits.sign; \
222 #define _FP_UNPACK_RAW_2_P(fs, X, val) \ argument
228 X##_f0 = _FP_UNPACK_RAW_2_P_flo->bits.frac0; \
229 X##_f1 = _FP_UNPACK_RAW_2_P_flo->bits.frac1; \
230 X##_e = _FP_UNPACK_RAW_2_P_flo->bits.exp; \
231 X##_s = _FP_UNPACK_RAW_2_P_flo->bits.sign; \
238 #define _FP_PACK_RAW_2(fs, val, X) \ argument
243 _FP_PACK_RAW_2_flo.bits.frac0 = X##_f0; \
244 _FP_PACK_RAW_2_flo.bits.frac1 = X##_f1; \
245 _FP_PACK_RAW_2_flo.bits.exp = X##_e; \
246 _FP_PACK_RAW_2_flo.bits.sign = X##_s; \
252 #define _FP_PACK_RAW_2_P(fs, val, X) \ argument
258 _FP_PACK_RAW_2_P_flo->bits.frac0 = X##_f0; \
259 _FP_PACK_RAW_2_P_flo->bits.frac1 = X##_f1; \
260 _FP_PACK_RAW_2_P_flo->bits.exp = X##_e; \
261 _FP_PACK_RAW_2_P_flo->bits.sign = X##_s; \
270 #define _FP_MUL_MEAT_DW_2_wide(wfracbits, R, X, Y, doit) \ argument
277 X##_f0, Y##_f0); \
279 X##_f0, Y##_f1); \
281 X##_f1, Y##_f0); \
283 X##_f1, Y##_f1); \
300 #define _FP_MUL_MEAT_2_wide(wfracbits, R, X, Y, doit) \ argument
306 X, Y, doit); \
322 #define _FP_MUL_MEAT_DW_2_wide_3mul(wfracbits, R, X, Y, doit) \ argument
331 _FP_MUL_MEAT_DW_2_wide_3mul_b_f0 = X##_f0 + X##_f1; \
333 = _FP_MUL_MEAT_DW_2_wide_3mul_b_f0 < X##_f0; \
338 X##_f0, Y##_f0); \
343 _FP_MUL_MEAT_DW_2_wide_3mul_c_f0, X##_f1, Y##_f1); \
374 #define _FP_MUL_MEAT_2_wide_3mul(wfracbits, R, X, Y, doit) \ argument
381 X, Y, doit); \
393 #define _FP_MUL_MEAT_DW_2_gmp(wfracbits, R, X, Y) \ argument
398 _FP_MUL_MEAT_DW_2_gmp_x[0] = X##_f0; \
399 _FP_MUL_MEAT_DW_2_gmp_x[1] = X##_f1; \
408 #define _FP_MUL_MEAT_2_gmp(wfracbits, R, X, Y) \ argument
413 _FP_MUL_MEAT_DW_2_gmp ((wfracbits), _FP_MUL_MEAT_2_gmp_z, X, Y); \
434 #define _FP_MUL_MEAT_2_120_240_double(wfracbits, R, X, Y, setfetz, resetfe) \ argument
462 _e240 = (double) (long) (X##_f0 & 0xffffff); \
464 _d240 = (double) (long) ((X##_f0 >> 24) & 0xffffff); \
466 _c240 = (double) (long) (((X##_f1 << 16) & 0xffffff) | (X##_f0 >> 48)); \
468 _b240 = (double) (long) ((X##_f1 >> 8) & 0xffffff); \
470 _a240 = (double) (long) (X##_f1 >> 32); \
531 #define _FP_DIV_MEAT_2_udiv(fs, R, X, Y) \ argument
541 if (_FP_FRAC_GE_2 (X, Y)) \
543 _FP_DIV_MEAT_2_udiv_n_f2 = X##_f1 >> 1; \
545 = X##_f1 << (_FP_W_TYPE_SIZE - 1) | X##_f0 >> 1; \
547 = X##_f0 << (_FP_W_TYPE_SIZE - 1); \
552 _FP_DIV_MEAT_2_udiv_n_f2 = X##_f1; \
553 _FP_DIV_MEAT_2_udiv_n_f1 = X##_f0; \
629 #define _FP_SQRT_MEAT_2(R, S, T, X, q) \ argument
635 if (T##_f1 <= X##_f1) \
638 X##_f1 -= T##_f1; \
641 _FP_FRAC_SLL_2 (X, 1); \
649 if (T##_f1 < X##_f1 \
650 || (T##_f1 == X##_f1 && T##_f0 <= X##_f0)) \
654 _FP_FRAC_DEC_2 (X, T); \
657 _FP_FRAC_SLL_2 (X, 1); \
660 if (X##_f0 | X##_f1) \
662 if (S##_f1 < X##_f1 \
663 || (S##_f1 == X##_f1 && S##_f0 < X##_f0)) \
674 #define _FP_FRAC_ASSEMBLE_2(r, X, rsize) \ argument
676 ? ({ (r) = X##_f0; }) \
678 (r) = X##_f1; \
680 (r) += X##_f0; \
683 #define _FP_FRAC_DISASSEMBLE_2(X, r, rsize) \ argument
686 X##_f0 = (r); \
687 X##_f1 = ((rsize) <= _FP_W_TYPE_SIZE \