Lines Matching refs:Y
159 #define _FP_CHOOSENAN_SEMIRAW(fs, wc, R, X, Y, OP) \ argument
164 _FP_FRAC_SRL_##wc (Y, _FP_WORKBITS); \
165 _FP_CHOOSENAN (fs, wc, R, X, Y, OP); \
408 #define _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP) \ argument
412 _FP_CHECK_FLUSH_ZERO (fs, wc, Y); \
413 if (X##_s == Y##_s) \
418 int _FP_ADD_INTERNAL_ediff = X##_e - Y##_e; \
422 if (Y##_e == 0) \
425 if (_FP_FRAC_ZEROP_##wc (Y)) \
437 _FP_FRAC_ADD_##wc (R, X, Y); \
458 _FP_FRAC_HIGH_##fs (Y) |= _FP_IMPLBIT_SH_##fs; \
465 _FP_FRAC_SRS_##wc (Y, _FP_ADD_INTERNAL_ediff, \
467 else if (!_FP_FRAC_ZEROP_##wc (Y)) \
468 _FP_FRAC_SET_##wc (Y, _FP_MINFRAC_##wc); \
469 _FP_FRAC_ADD_##wc (R, X, Y); \
474 R##_e = Y##_e; \
480 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
481 _FP_FRAC_COPY_##wc (R, Y); \
490 _FP_FRAC_ADD_##wc (R, Y, X); \
493 if (Y##_e == _FP_EXPMAX_##fs) \
495 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
496 _FP_FRAC_COPY_##wc (R, Y); \
502 else if (Y##_e == _FP_EXPMAX_##fs) \
505 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
506 _FP_FRAC_COPY_##wc (R, Y); \
522 _FP_FRAC_ADD_##wc (R, Y, X); \
535 if (!_FP_FRAC_ZEROP_##wc (Y)) \
537 _FP_FRAC_COPY_##wc (R, Y); \
540 else if (_FP_FRAC_ZEROP_##wc (Y)) \
549 _FP_FRAC_ADD_##wc (R, X, Y); \
564 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
567 _FP_FRAC_COPY_##wc (R, Y); \
568 else if (_FP_FRAC_ZEROP_##wc (Y)) \
571 _FP_CHOOSENAN_SEMIRAW (fs, wc, R, X, Y, OP); \
578 _FP_FRAC_ADD_##wc (R, X, Y); \
603 int _FP_ADD_INTERNAL_ediff = X##_e - Y##_e; \
608 if (Y##_e == 0) \
611 if (_FP_FRAC_ZEROP_##wc (Y)) \
623 _FP_FRAC_SUB_##wc (R, X, Y); \
644 _FP_FRAC_HIGH_##fs (Y) |= _FP_IMPLBIT_SH_##fs; \
651 _FP_FRAC_SRS_##wc (Y, _FP_ADD_INTERNAL_ediff, \
653 else if (!_FP_FRAC_ZEROP_##wc (Y)) \
654 _FP_FRAC_SET_##wc (Y, _FP_MINFRAC_##wc); \
655 _FP_FRAC_SUB_##wc (R, X, Y); \
660 R##_e = Y##_e; \
661 R##_s = Y##_s; \
667 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
668 _FP_FRAC_COPY_##wc (R, Y); \
677 _FP_FRAC_SUB_##wc (R, Y, X); \
680 if (Y##_e == _FP_EXPMAX_##fs) \
682 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
683 _FP_FRAC_COPY_##wc (R, Y); \
689 else if (Y##_e == _FP_EXPMAX_##fs) \
692 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
693 _FP_FRAC_COPY_##wc (R, Y); \
709 _FP_FRAC_SUB_##wc (R, Y, X); \
722 _FP_FRAC_COPY_##wc (R, Y); \
723 if (_FP_FRAC_ZEROP_##wc (Y)) \
728 R##_s = Y##_s; \
732 else if (_FP_FRAC_ZEROP_##wc (Y)) \
742 _FP_FRAC_SUB_##wc (R, X, Y); \
747 _FP_FRAC_SUB_##wc (R, Y, X); \
748 R##_s = Y##_s; \
759 _FP_CHECK_SIGNAN_SEMIRAW (fs, wc, Y); \
763 if (_FP_FRAC_ZEROP_##wc (Y)) \
775 R##_s = Y##_s; \
776 _FP_FRAC_COPY_##wc (R, Y); \
781 if (_FP_FRAC_ZEROP_##wc (Y)) \
790 _FP_CHOOSENAN_SEMIRAW (fs, wc, R, X, Y, OP); \
799 _FP_FRAC_SUB_##wc (R, X, Y); \
804 _FP_FRAC_SUB_##wc (R, Y, X); \
805 R##_s = Y##_s; \
846 #define _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL (fs, wc, R, X, Y, '+') argument
847 #define _FP_SUB(fs, wc, R, X, Y) \ argument
850 if (!(Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc (Y))) \
851 Y##_s ^= 1; \
852 _FP_ADD_INTERNAL (fs, wc, R, X, Y, '-'); \
871 #define _FP_MUL(fs, wc, R, X, Y) \ argument
874 R##_s = X##_s ^ Y##_s; \
875 R##_e = X##_e + Y##_e + 1; \
876 switch (_FP_CLS_COMBINE (X##_c, Y##_c)) \
881 _FP_MUL_MEAT_##fs (R, X, Y); \
890 _FP_CHOOSENAN (fs, wc, R, X, Y, '*'); \
910 R##_s = Y##_s; \
915 _FP_FRAC_COPY_##wc (R, Y); \
916 R##_c = Y##_c; \
936 #define _FP_FMA(fs, wc, dwc, R, X, Y, Z) \ argument
941 _FP_FMA_T##_s = X##_s ^ Y##_s; \
942 _FP_FMA_T##_e = X##_e + Y##_e + 1; \
943 switch (_FP_CLS_COMBINE (X##_c, Y##_c)) \
960 _FP_MUL_MEAT_##fs (R, X, Y); \
972 _FP_MUL_MEAT_DW_##fs (_FP_FMA_TD, X, Y); \
1057 _FP_CHOOSENAN (fs, wc, _FP_FMA_T, X, Y, '*'); \
1077 _FP_FMA_T##_s = Y##_s; \
1082 _FP_FRAC_COPY_##wc (_FP_FMA_T, Y); \
1083 _FP_FMA_T##_c = Y##_c; \
1160 #define _FP_DIV(fs, wc, R, X, Y) \ argument
1163 R##_s = X##_s ^ Y##_s; \
1164 R##_e = X##_e - Y##_e; \
1165 switch (_FP_CLS_COMBINE (X##_c, Y##_c)) \
1170 _FP_DIV_MEAT_##fs (R, X, Y); \
1174 _FP_CHOOSENAN (fs, wc, R, X, Y, '/'); \
1188 R##_s = Y##_s; \
1189 _FP_FRAC_COPY_##wc (R, Y); \
1190 R##_c = Y##_c; \
1230 #define _FP_CMP_CHECK_NAN(fs, wc, X, Y, ex) \ argument
1246 || _FP_ISSIGNAN (fs, wc, Y)) \
1253 || _FP_ISSIGNAN (fs, wc, Y)) \
1263 #define _FP_CMP_CHECK_DENORM(fs, wc, X, Y) \ argument
1274 _FP_CHECK_FLUSH_ZERO (fs, wc, Y); \
1279 || (Y##_e == 0 && !_FP_FRAC_ZEROP_##wc (Y))) \
1288 #define _FP_CMP_CHECK_FLUSH_ZERO(fs, wc, X, Y) \ argument
1294 _FP_CHECK_FLUSH_ZERO (fs, wc, Y); \
1303 #define _FP_CMP(fs, wc, ret, X, Y, un, ex) \ argument
1306 _FP_CMP_CHECK_DENORM (fs, wc, X, Y); \
1309 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc (Y))) \
1312 _FP_CMP_CHECK_NAN (fs, wc, X, Y, (ex)); \
1319 _FP_CMP_CHECK_FLUSH_ZERO (fs, wc, X, Y); \
1324 = (!Y##_e && _FP_FRAC_ZEROP_##wc (Y)) ? 1 : 0; \
1329 (ret) = Y##_s ? 1 : -1; \
1332 else if (X##_s != Y##_s) \
1334 else if (X##_e > Y##_e) \
1336 else if (X##_e < Y##_e) \
1338 else if (_FP_FRAC_GT_##wc (X, Y)) \
1340 else if (_FP_FRAC_GT_##wc (Y, X)) \
1351 #define _FP_CMP_EQ(fs, wc, ret, X, Y, ex) \ argument
1354 _FP_CMP_CHECK_DENORM (fs, wc, X, Y); \
1357 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc (Y))) \
1360 _FP_CMP_CHECK_NAN (fs, wc, X, Y, (ex)); \
1364 _FP_CMP_CHECK_FLUSH_ZERO (fs, wc, X, Y); \
1366 (ret) = !(X##_e == Y##_e \
1367 && _FP_FRAC_EQ_##wc (X, Y) \
1368 && (X##_s == Y##_s \
1376 #define _FP_CMP_UNORD(fs, wc, ret, X, Y, ex) \ argument
1379 _FP_CMP_CHECK_DENORM (fs, wc, X, Y); \
1381 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc (Y))); \
1383 _FP_CMP_CHECK_NAN (fs, wc, X, Y, (ex)); \
2096 #define _FP_DIV_MEAT_N_loop(fs, wc, R, X, Y) \ argument
2103 _FP_FRAC_COPY_##wc (_FP_DIV_MEAT_N_loop_v, Y); \
2147 #define _FP_DIV_MEAT_1_loop(fs, R, X, Y) _FP_DIV_MEAT_N_loop (fs, 1, R, X, Y) argument
2148 #define _FP_DIV_MEAT_2_loop(fs, R, X, Y) _FP_DIV_MEAT_N_loop (fs, 2, R, X, Y) argument
2149 #define _FP_DIV_MEAT_4_loop(fs, R, X, Y) _FP_DIV_MEAT_N_loop (fs, 4, R, X, Y) argument