Lines Matching refs:_f
28 #define _FP_FRAC_DECL_4(X) _FP_W_TYPE X##_f[4]
30 (D##_f[0] = S##_f[0], D##_f[1] = S##_f[1], \
31 D##_f[2] = S##_f[2], D##_f[3] = S##_f[3])
33 #define _FP_FRAC_HIGH_4(X) (X##_f[3])
34 #define _FP_FRAC_LOW_4(X) (X##_f[0])
35 #define _FP_FRAC_WORD_4(X,w) (X##_f[w])
45 X##_f[_i] = X##_f[_i-_skip]; \
49 X##_f[_i] = X##_f[_i-_skip] << _up \
50 | X##_f[_i-_skip-1] >> _down; \
51 X##_f[_i--] = X##_f[0] << _up; \
54 X##_f[_i] = 0; \
66 X##_f[_i] = X##_f[_i+_skip]; \
70 X##_f[_i] = X##_f[_i+_skip] >> _down \
71 | X##_f[_i+_skip+1] << _up; \
72 X##_f[_i++] = X##_f[3] >> _down; \
75 X##_f[_i] = 0; \
92 _s |= X##_f[_i]; \
93 _s |= X##_f[_i] << _up; \
97 X##_f[_i] = X##_f[_i+_skip]; \
101 X##_f[_i] = X##_f[_i+_skip] >> _down \
102 | X##_f[_i+_skip+1] << _up; \
103 X##_f[_i++] = X##_f[3] >> _down; \
106 X##_f[_i] = 0; \
108 X##_f[0] |= (_s != 0); \
112 __FP_FRAC_ADD_4(R##_f[3], R##_f[2], R##_f[1], R##_f[0], \
113 X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
114 Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
117 __FP_FRAC_SUB_4(R##_f[3], R##_f[2], R##_f[1], R##_f[0], \
118 X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
119 Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
122 __FP_FRAC_DEC_4(X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
123 Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
126 __FP_FRAC_ADDI_4(X##_f[3], X##_f[2], X##_f[1], X##_f[0], I)
132 #define _FP_FRAC_ZEROP_4(X) ((X##_f[0] | X##_f[1] | X##_f[2] | X##_f[3]) == 0)
133 #define _FP_FRAC_NEGP_4(X) ((_FP_WS_TYPE)X##_f[3] < 0)
138 (X##_f[0] == Y##_f[0] && X##_f[1] == Y##_f[1] \
139 && X##_f[2] == Y##_f[2] && X##_f[3] == Y##_f[3])
142 (X##_f[3] > Y##_f[3] || \
143 (X##_f[3] == Y##_f[3] && (X##_f[2] > Y##_f[2] || \
144 (X##_f[2] == Y##_f[2] && (X##_f[1] > Y##_f[1] || \
145 (X##_f[1] == Y##_f[1] && X##_f[0] > Y##_f[0]) \
151 (X##_f[3] > Y##_f[3] || \
152 (X##_f[3] == Y##_f[3] && (X##_f[2] > Y##_f[2] || \
153 (X##_f[2] == Y##_f[2] && (X##_f[1] > Y##_f[1] || \
154 (X##_f[1] == Y##_f[1] && X##_f[0] >= Y##_f[0]) \
162 if (X##_f[3]) \
164 __FP_CLZ(R,X##_f[3]); \
166 else if (X##_f[2]) \
168 __FP_CLZ(R,X##_f[2]); \
171 else if (X##_f[1]) \
173 __FP_CLZ(R,X##_f[2]); \
178 __FP_CLZ(R,X##_f[0]); \
187 X##_f[0] = _flo.bits.frac0; \
188 X##_f[1] = _flo.bits.frac1; \
189 X##_f[2] = _flo.bits.frac2; \
190 X##_f[3] = _flo.bits.frac3; \
200 X##_f[0] = _flo->bits.frac0; \
201 X##_f[1] = _flo->bits.frac1; \
202 X##_f[2] = _flo->bits.frac2; \
203 X##_f[3] = _flo->bits.frac3; \
211 _flo.bits.frac0 = X##_f[0]; \
212 _flo.bits.frac1 = X##_f[1]; \
213 _flo.bits.frac2 = X##_f[2]; \
214 _flo.bits.frac3 = X##_f[3]; \
225 _flo->bits.frac0 = X##_f[0]; \
226 _flo->bits.frac1 = X##_f[1]; \
227 _flo->bits.frac2 = X##_f[2]; \
228 _flo->bits.frac3 = X##_f[3]; \
242 _FP_FRAC_DECL_2(_d); _FP_FRAC_DECL_2(_e); _FP_FRAC_DECL_2(_f); \
244 doit(_FP_FRAC_WORD_8(_z,1), _FP_FRAC_WORD_8(_z,0), X##_f[0], Y##_f[0]); \
245 doit(_b_f1, _b_f0, X##_f[0], Y##_f[1]); \
246 doit(_c_f1, _c_f0, X##_f[1], Y##_f[0]); \
247 doit(_d_f1, _d_f0, X##_f[1], Y##_f[1]); \
248 doit(_e_f1, _e_f0, X##_f[0], Y##_f[2]); \
249 doit(_f_f1, _f_f0, X##_f[2], Y##_f[0]); \
268 doit(_b_f1, _b_f0, X##_f[0], Y##_f[3]); \
269 doit(_c_f1, _c_f0, X##_f[3], Y##_f[0]); \
270 doit(_d_f1, _d_f0, X##_f[1], Y##_f[2]); \
271 doit(_e_f1, _e_f0, X##_f[2], Y##_f[1]); \
287 doit(_b_f1, _b_f0, X##_f[2], Y##_f[2]); \
288 doit(_c_f1, _c_f0, X##_f[1], Y##_f[3]); \
289 doit(_d_f1, _d_f0, X##_f[3], Y##_f[1]); \
290 doit(_e_f1, _e_f0, X##_f[2], Y##_f[3]); \
291 doit(_f_f1, _f_f0, X##_f[3], Y##_f[2]); \
310 doit(_b_f1, _b_f0, X##_f[3], Y##_f[3]); \
362 _n_f[3] = X##_f[0] << (_FP_W_TYPE_SIZE - 1); \
374 if (X##_f[3] == Y##_f[3]) \
380 R##_f[_i] = -1; \
383 __FP_FRAC_SUB_4(X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
384 Y##_f[2], Y##_f[1], Y##_f[0], 0, \
385 X##_f[2], X##_f[1], X##_f[0], _n_f[_i]); \
387 if (X##_f[3] > Y##_f[3]) \
389 R##_f[_i] = -2; \
395 udiv_qrnnd(R##_f[_i], X##_f[3], X##_f[3], X##_f[2], Y##_f[3]); \
397 R##_f[_i], Y##_f[2], Y##_f[1], Y##_f[0]); \
398 X##_f[2] = X##_f[1]; \
399 X##_f[1] = X##_f[0]; \
400 X##_f[0] = _n_f[_i]; \
403 R##_f[_i]--; \
407 R##_f[_i]--; \
415 R##_f[0] |= _FP_WORK_STICKY; \
433 T##_f[3] = S##_f[3] + q; \
434 if (T##_f[3] <= X##_f[3]) \
436 S##_f[3] = T##_f[3] + q; \
437 X##_f[3] -= T##_f[3]; \
438 R##_f[3] += q; \
446 T##_f[2] = S##_f[2] + q; \
447 T##_f[3] = S##_f[3]; \
448 if (T##_f[3] < X##_f[3] || \
449 (T##_f[3] == X##_f[3] && T##_f[2] <= X##_f[2])) \
451 S##_f[2] = T##_f[2] + q; \
452 S##_f[3] += (T##_f[2] > S##_f[2]); \
453 __FP_FRAC_DEC_2(X##_f[3], X##_f[2], \
454 T##_f[3], T##_f[2]); \
455 R##_f[2] += q; \
463 T##_f[1] = S##_f[1] + q; \
464 T##_f[2] = S##_f[2]; \
465 T##_f[3] = S##_f[3]; \
466 if (T##_f[3] < X##_f[3] || \
467 (T##_f[3] == X##_f[3] && (T##_f[2] < X##_f[2] || \
468 (T##_f[2] == X##_f[2] && T##_f[1] <= X##_f[1])))) \
470 S##_f[1] = T##_f[1] + q; \
471 S##_f[2] += (T##_f[1] > S##_f[1]); \
472 S##_f[3] += (T##_f[2] > S##_f[2]); \
473 __FP_FRAC_DEC_3(X##_f[3], X##_f[2], X##_f[1], \
474 T##_f[3], T##_f[2], T##_f[1]); \
475 R##_f[1] += q; \
483 T##_f[0] = S##_f[0] + q; \
484 T##_f[1] = S##_f[1]; \
485 T##_f[2] = S##_f[2]; \
486 T##_f[3] = S##_f[3]; \
489 S##_f[0] = T##_f[0] + q; \
490 S##_f[1] += (T##_f[0] > S##_f[0]); \
491 S##_f[2] += (T##_f[1] > S##_f[1]); \
492 S##_f[3] += (T##_f[2] > S##_f[2]); \
494 R##_f[0] += q; \
502 R##_f[0] |= _FP_WORK_ROUND; \
503 R##_f[0] |= _FP_WORK_STICKY; \
513 (X##_f[3] = I3, X##_f[2] = I2, X##_f[1] = I1, X##_f[0] = I0)
622 D##_f = S##_f[0]; \
632 D##_f0 = S##_f[0]; \
633 D##_f1 = S##_f[1]; \
643 r = X##_f[0]; \
646 r = X##_f[1]; \
648 r += X##_f[0]; \
654 r = X##_f[3]; \
656 r += X##_f[2]; \
658 r += X##_f[1]; \
660 r += X##_f[0]; \
671 X##_f[0] = r; \
672 X##_f[1] = (rsize <= _FP_W_TYPE_SIZE ? 0 : r >> _FP_W_TYPE_SIZE); \
673 X##_f[2] = (rsize <= 2*_FP_W_TYPE_SIZE ? 0 : r >> 2*_FP_W_TYPE_SIZE); \
674 X##_f[3] = (rsize <= 3*_FP_W_TYPE_SIZE ? 0 : r >> 3*_FP_W_TYPE_SIZE); \
679 D##_f[0] = S##_f; \
680 D##_f[1] = D##_f[2] = D##_f[3] = 0; \
686 D##_f[0] = S##_f0; \
687 D##_f[1] = S##_f1; \
688 D##_f[2] = D##_f[3] = 0; \