Lines Matching refs:_f
32 #define _FP_FRAC_DECL_4(X) _FP_W_TYPE X##_f[4]
34 (D##_f[0] = S##_f[0], D##_f[1] = S##_f[1], \
35 D##_f[2] = S##_f[2], D##_f[3] = S##_f[3])
37 #define _FP_FRAC_HIGH_4(X) (X##_f[3])
38 #define _FP_FRAC_LOW_4(X) (X##_f[0])
39 #define _FP_FRAC_WORD_4(X, w) (X##_f[w])
53 X##_f[_FP_FRAC_SLL_4_i] \
54 = X##_f[_FP_FRAC_SLL_4_i-_FP_FRAC_SLL_4_skip]; \
60 X##_f[_FP_FRAC_SLL_4_i] \
61 = ((X##_f[_FP_FRAC_SLL_4_i-_FP_FRAC_SLL_4_skip] \
63 | (X##_f[_FP_FRAC_SLL_4_i-_FP_FRAC_SLL_4_skip-1] \
65 X##_f[_FP_FRAC_SLL_4_i--] = X##_f[0] << _FP_FRAC_SLL_4_up; \
68 X##_f[_FP_FRAC_SLL_4_i] = 0; \
85 X##_f[_FP_FRAC_SRL_4_i] \
86 = X##_f[_FP_FRAC_SRL_4_i+_FP_FRAC_SRL_4_skip]; \
92 X##_f[_FP_FRAC_SRL_4_i] \
93 = ((X##_f[_FP_FRAC_SRL_4_i+_FP_FRAC_SRL_4_skip] \
95 | (X##_f[_FP_FRAC_SRL_4_i+_FP_FRAC_SRL_4_skip+1] \
97 X##_f[_FP_FRAC_SRL_4_i++] = X##_f[3] >> _FP_FRAC_SRL_4_down; \
100 X##_f[_FP_FRAC_SRL_4_i] = 0; \
121 _FP_FRAC_SRST_4_s |= X##_f[_FP_FRAC_SRST_4_i]; \
126 X##_f[_FP_FRAC_SRST_4_i] \
127 = X##_f[_FP_FRAC_SRST_4_i+_FP_FRAC_SRST_4_skip]; \
131 |= X##_f[_FP_FRAC_SRST_4_i] << _FP_FRAC_SRST_4_up; \
135 X##_f[_FP_FRAC_SRST_4_i] \
136 = ((X##_f[_FP_FRAC_SRST_4_i+_FP_FRAC_SRST_4_skip] \
138 | (X##_f[_FP_FRAC_SRST_4_i+_FP_FRAC_SRST_4_skip+1] \
140 X##_f[_FP_FRAC_SRST_4_i++] \
141 = X##_f[3] >> _FP_FRAC_SRST_4_down; \
144 X##_f[_FP_FRAC_SRST_4_i] = 0; \
154 X##_f[0] |= _FP_FRAC_SRS_4_sticky; \
159 __FP_FRAC_ADD_4 (R##_f[3], R##_f[2], R##_f[1], R##_f[0], \
160 X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
161 Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
164 __FP_FRAC_SUB_4 (R##_f[3], R##_f[2], R##_f[1], R##_f[0], \
165 X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
166 Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
169 __FP_FRAC_DEC_4 (X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
170 Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
173 __FP_FRAC_ADDI_4 (X##_f[3], X##_f[2], X##_f[1], X##_f[0], I)
179 #define _FP_FRAC_ZEROP_4(X) ((X##_f[0] | X##_f[1] | X##_f[2] | X##_f[3]) == 0)
180 #define _FP_FRAC_NEGP_4(X) ((_FP_WS_TYPE) X##_f[3] < 0)
187 (X##_f[0] == Y##_f[0] && X##_f[1] == Y##_f[1] \
188 && X##_f[2] == Y##_f[2] && X##_f[3] == Y##_f[3])
191 (X##_f[3] > Y##_f[3] \
192 || (X##_f[3] == Y##_f[3] \
193 && (X##_f[2] > Y##_f[2] \
194 || (X##_f[2] == Y##_f[2] \
195 && (X##_f[1] > Y##_f[1] \
196 || (X##_f[1] == Y##_f[1] \
197 && X##_f[0] > Y##_f[0]))))))
200 (X##_f[3] > Y##_f[3] \
201 || (X##_f[3] == Y##_f[3] \
202 && (X##_f[2] > Y##_f[2] \
203 || (X##_f[2] == Y##_f[2] \
204 && (X##_f[1] > Y##_f[1] \
205 || (X##_f[1] == Y##_f[1] \
206 && X##_f[0] >= Y##_f[0]))))))
212 if (X##_f[3]) \
213 __FP_CLZ ((R), X##_f[3]); \
214 else if (X##_f[2]) \
216 __FP_CLZ ((R), X##_f[2]); \
219 else if (X##_f[1]) \
221 __FP_CLZ ((R), X##_f[1]); \
226 __FP_CLZ ((R), X##_f[0]); \
238 X##_f[0] = _FP_UNPACK_RAW_4_flo.bits.frac0; \
239 X##_f[1] = _FP_UNPACK_RAW_4_flo.bits.frac1; \
240 X##_f[2] = _FP_UNPACK_RAW_4_flo.bits.frac2; \
241 X##_f[3] = _FP_UNPACK_RAW_4_flo.bits.frac3; \
253 X##_f[0] = _FP_UNPACK_RAW_4_P_flo->bits.frac0; \
254 X##_f[1] = _FP_UNPACK_RAW_4_P_flo->bits.frac1; \
255 X##_f[2] = _FP_UNPACK_RAW_4_P_flo->bits.frac2; \
256 X##_f[3] = _FP_UNPACK_RAW_4_P_flo->bits.frac3; \
266 _FP_PACK_RAW_4_flo.bits.frac0 = X##_f[0]; \
267 _FP_PACK_RAW_4_flo.bits.frac1 = X##_f[1]; \
268 _FP_PACK_RAW_4_flo.bits.frac2 = X##_f[2]; \
269 _FP_PACK_RAW_4_flo.bits.frac3 = X##_f[3]; \
282 _FP_PACK_RAW_4_P_flo->bits.frac0 = X##_f[0]; \
283 _FP_PACK_RAW_4_P_flo->bits.frac1 = X##_f[1]; \
284 _FP_PACK_RAW_4_P_flo->bits.frac2 = X##_f[2]; \
285 _FP_PACK_RAW_4_P_flo->bits.frac3 = X##_f[3]; \
305 X##_f[0], Y##_f[0]); \
307 X##_f[0], Y##_f[1]); \
309 X##_f[1], Y##_f[0]); \
311 X##_f[1], Y##_f[1]); \
313 X##_f[0], Y##_f[2]); \
315 X##_f[2], Y##_f[0]); \
345 _FP_MUL_MEAT_DW_4_wide_b_f0, X##_f[0], Y##_f[3]); \
347 _FP_MUL_MEAT_DW_4_wide_c_f0, X##_f[3], Y##_f[0]); \
349 X##_f[1], Y##_f[2]); \
351 X##_f[2], Y##_f[1]); \
376 X##_f[2], Y##_f[2]); \
378 X##_f[1], Y##_f[3]); \
380 X##_f[3], Y##_f[1]); \
382 X##_f[2], Y##_f[3]); \
384 X##_f[3], Y##_f[2]); \
414 X##_f[3], Y##_f[3]); \
445 mpn_mul_n (R##_f, _x_f, _y_f, 4); \
494 = X##_f[0] << (_FP_W_TYPE_SIZE - 1); \
506 if (X##_f[3] == Y##_f[3]) \
513 R##_f[_FP_DIV_MEAT_4_udiv_i] = -1; \
516 __FP_FRAC_SUB_4 (X##_f[3], X##_f[2], X##_f[1], X##_f[0], \
517 Y##_f[2], Y##_f[1], Y##_f[0], 0, \
518 X##_f[2], X##_f[1], X##_f[0], \
521 if (X##_f[3] > Y##_f[3]) \
523 R##_f[_FP_DIV_MEAT_4_udiv_i] = -2; \
529 udiv_qrnnd (R##_f[_FP_DIV_MEAT_4_udiv_i], \
530 X##_f[3], X##_f[3], X##_f[2], Y##_f[3]); \
535 R##_f[_FP_DIV_MEAT_4_udiv_i], \
536 Y##_f[2], Y##_f[1], Y##_f[0]); \
537 X##_f[2] = X##_f[1]; \
538 X##_f[1] = X##_f[0]; \
539 X##_f[0] \
543 R##_f[_FP_DIV_MEAT_4_udiv_i]--; \
548 R##_f[_FP_DIV_MEAT_4_udiv_i]--; \
556 R##_f[0] |= _FP_WORK_STICKY; \
574 T##_f[3] = S##_f[3] + (q); \
575 if (T##_f[3] <= X##_f[3]) \
577 S##_f[3] = T##_f[3] + (q); \
578 X##_f[3] -= T##_f[3]; \
579 R##_f[3] += (q); \
587 T##_f[2] = S##_f[2] + (q); \
588 T##_f[3] = S##_f[3]; \
589 if (T##_f[3] < X##_f[3] \
590 || (T##_f[3] == X##_f[3] && T##_f[2] <= X##_f[2])) \
592 S##_f[2] = T##_f[2] + (q); \
593 S##_f[3] += (T##_f[2] > S##_f[2]); \
594 __FP_FRAC_DEC_2 (X##_f[3], X##_f[2], \
595 T##_f[3], T##_f[2]); \
596 R##_f[2] += (q); \
604 T##_f[1] = S##_f[1] + (q); \
605 T##_f[2] = S##_f[2]; \
606 T##_f[3] = S##_f[3]; \
607 if (T##_f[3] < X##_f[3] \
608 || (T##_f[3] == X##_f[3] \
609 && (T##_f[2] < X##_f[2] \
610 || (T##_f[2] == X##_f[2] \
611 && T##_f[1] <= X##_f[1])))) \
613 S##_f[1] = T##_f[1] + (q); \
614 S##_f[2] += (T##_f[1] > S##_f[1]); \
615 S##_f[3] += (T##_f[2] > S##_f[2]); \
616 __FP_FRAC_DEC_3 (X##_f[3], X##_f[2], X##_f[1], \
617 T##_f[3], T##_f[2], T##_f[1]); \
618 R##_f[1] += (q); \
626 T##_f[0] = S##_f[0] + (q); \
627 T##_f[1] = S##_f[1]; \
628 T##_f[2] = S##_f[2]; \
629 T##_f[3] = S##_f[3]; \
632 S##_f[0] = T##_f[0] + (q); \
633 S##_f[1] += (T##_f[0] > S##_f[0]); \
634 S##_f[2] += (T##_f[1] > S##_f[1]); \
635 S##_f[3] += (T##_f[2] > S##_f[2]); \
637 R##_f[0] += (q); \
645 R##_f[0] |= _FP_WORK_ROUND; \
646 R##_f[0] |= _FP_WORK_STICKY; \
655 (X##_f[3] = I3, X##_f[2] = I2, X##_f[1] = I1, X##_f[0] = I0)
792 #define _FP_FRAC_COPY_1_4(D, S) (D##_f = S##_f[0])
797 D##_f0 = S##_f[0]; \
798 D##_f1 = S##_f[1]; \
809 (r) = X##_f[0]; \
812 (r) = X##_f[1]; \
816 (r) += X##_f[0]; \
822 (r) = X##_f[3]; \
826 (r) += X##_f[2]; \
830 (r) += X##_f[1]; \
834 (r) += X##_f[0]; \
846 X##_f[0] = (r); \
847 X##_f[1] = ((rsize) <= _FP_W_TYPE_SIZE \
850 X##_f[2] = ((rsize) <= 2*_FP_W_TYPE_SIZE \
853 X##_f[3] = ((rsize) <= 3*_FP_W_TYPE_SIZE \
862 D##_f[0] = S##_f; \
863 D##_f[1] = D##_f[2] = D##_f[3] = 0; \
870 D##_f[0] = S##_f0; \
871 D##_f[1] = S##_f1; \
872 D##_f[2] = D##_f[3] = 0; \