Lines Matching +full:3 +full:d
58 * 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
116 "addc %0,%2,%3" \
125 "subc %0,%2,%3" \
144 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
145 __asm__ ("dividu %0,%3,%4" \
150 "r" ((USItype)(d)))
162 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
164 (q) = __udiv_qrnnd(&__r, (n1), (n0), (d)); \
178 "adc %0, %2, %3" \
187 "sbc %0, %2, %3" \
198 "mov %|r2, %3, lsr #16 @ BBBB\n" \
200 "bic %0, %3, %|r2, lsl #16 @ bbbb\n" \
217 "umull %1, %0, %2, %3" \
265 "addx %3,%0" \
274 "subx %3,%0" \
282 __asm__ ("mulx %3,%0,%1" \
287 #define udiv_qrnnd(q, r, nh, nl, d) \ argument
293 "g" ((USItype)(d)))
302 "addc %2,%3,%0" \
311 "subb %2,%3,%0" \
339 #define udiv_qrnnd(q, r, n1, n0, d) \
341 (q) = __udiv_qrnnd(&__r, (n1), (n0), (d)); \
358 __asm__ ("mr %0,%3" \
372 __asm__ ("mr %0,%3" \
379 #define sdiv_qrnnd(q, r, n1, n0, d) \ argument
387 : "0" (__xx.__ll), "r" (d)); \
399 "adcl %3,%0" \
408 "sbbl %3,%0" \
416 __asm__ ("mull %3" \
418 "=d" (w1) \
421 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
424 "=d" (r) \
427 "rm" ((USItype)(d)))
441 __asm__ ("shr %3,r0,r0\n" \
453 "addc %3,%2,%0" \
463 "subc %3,%2,%0" \
475 : "=d" (__xx.__ll) \
482 : "=d" (__w) \
486 #define udiv_qrnnd(q, r, nh, nl, d) \ argument
492 __asm__ ("ediv %d,%n,%0" \
493 : "=d" (__rq.__ll) \
495 "dI" ((USItype)(d))); \
506 : "=d" (r) : "dI" (__nn.__ll), "dI" (c)); \
517 "addx%.l %3,%0" \
518 : "=d" ((USItype)(sh)), \
519 "=&d" ((USItype)(sl)) \
521 "d" ((USItype)(bh)), \
526 "subx%.l %3,%0" \
527 : "=d" ((USItype)(sh)), \
528 "=&d" ((USItype)(sl)) \
530 "d" ((USItype)(bh)), \
535 __asm__ ("mulu%.l %3,%1:%0" \
536 : "=d" ((USItype)(w0)), \
537 "=d" ((USItype)(w1)) \
541 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
543 : "=d" ((USItype)(q)), \
544 "=d" ((USItype)(r)) \
547 "dmi" ((USItype)(d)))
549 #define sdiv_qrnnd(q, r, n1, n0, d) \ argument
551 : "=d" ((USItype)(q)), \
552 "=d" ((USItype)(r)) \
555 "dmi" ((USItype)(d)))
560 "move%.l %5,%3\n" \
562 "move%.w %3,%1\n" \
563 "swap %3\n" \
566 "mulu %3,%0\n" \
567 "mulu %2,%3\n" \
570 "add%.l %3,%2\n" \
573 "1: move%.l %2,%3\n" \
576 "swap %3\n" \
577 "clr%.w %3\n" \
578 "add%.l %3,%1\n" \
581 : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \
582 "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
583 : "%2" ((USItype)(a)), "d" ((USItype)(b))); \
618 __asm__ ("mulu.d %0,%1,%2" : "=r" (__x.__ll) : "r" (u), "r" (v)); \
622 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
627 __asm__ ("divu.d %0,%1,%2" \
628 : "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \
629 (r) = (n0) - __q.__l * (d); (q) = __q.__l; })
655 #if (defined(__mips) && __mips >= 3) && W_TYPE_SIZE == 64
664 : "=d" ((UDItype)(w0)) \
665 : "d" ((UDItype)(u)), \
666 "d" ((UDItype)(v))); \
668 : "=d" ((UDItype)(w1)) \
669 : "d" ((UDItype)(u)), \
670 "d" ((UDItype)(v))); \
705 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
713 "g" ((USItype)(d))); \
724 __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
731 __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
738 __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
749 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
756 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
763 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
770 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
777 __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
811 __asm__ ("mul %0,%2,%3" \
821 __asm__ ("mul %0,%2,%3" \
827 #define sdiv_qrnnd(q, r, nh, nl, d) \ argument
830 : "r" ((SItype)(nh)), "1" ((SItype)(nl)), "r" ((SItype)(d)))
841 "addwc %3,%0" \
850 "subwb %3,%0" \
876 "ae %0,%3" \
885 "se %0,%3" \
898 "m r2,%3\n" \
899 "m r2,%3\n" \
900 "m r2,%3\n" \
901 "m r2,%3\n" \
902 "m r2,%3\n" \
903 "m r2,%3\n" \
904 "m r2,%3\n" \
905 "m r2,%3\n" \
906 "m r2,%3\n" \
907 "m r2,%3\n" \
908 "m r2,%3\n" \
909 "m r2,%3\n" \
910 "m r2,%3\n" \
911 "m r2,%3\n" \
912 "m r2,%3\n" \
913 "m r2,%3\n" \
935 "dmulu.l %2,%3\n" \
952 "addx %r2,%3,%0" \
962 "subx %r2,%3,%0" \
976 __asm__ ("umul %2,%3,%1;rd %%y,%0" \
983 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
986 __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \
990 "r" ((USItype)(d))); \
991 (r) = (n0) - __q * (d); \
1001 __asm__ ("umul %2,%3,%1;rd %%y,%0" \
1007 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
1011 "divscc %3,%4,%%g1\n" \
1051 "rI" ((USItype)(d)) \
1060 "wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n" \
1061 "sra %3,31,%%g2 ! Don't move this insn\n" \
1064 "mulscc %%g1,%3,%%g1\n" \
1065 "mulscc %%g1,%3,%%g1\n" \
1066 "mulscc %%g1,%3,%%g1\n" \
1067 "mulscc %%g1,%3,%%g1\n" \
1068 "mulscc %%g1,%3,%%g1\n" \
1069 "mulscc %%g1,%3,%%g1\n" \
1070 "mulscc %%g1,%3,%%g1\n" \
1071 "mulscc %%g1,%3,%%g1\n" \
1072 "mulscc %%g1,%3,%%g1\n" \
1073 "mulscc %%g1,%3,%%g1\n" \
1074 "mulscc %%g1,%3,%%g1\n" \
1075 "mulscc %%g1,%3,%%g1\n" \
1076 "mulscc %%g1,%3,%%g1\n" \
1077 "mulscc %%g1,%3,%%g1\n" \
1078 "mulscc %%g1,%3,%%g1\n" \
1079 "mulscc %%g1,%3,%%g1\n" \
1080 "mulscc %%g1,%3,%%g1\n" \
1081 "mulscc %%g1,%3,%%g1\n" \
1082 "mulscc %%g1,%3,%%g1\n" \
1083 "mulscc %%g1,%3,%%g1\n" \
1084 "mulscc %%g1,%3,%%g1\n" \
1085 "mulscc %%g1,%3,%%g1\n" \
1086 "mulscc %%g1,%3,%%g1\n" \
1087 "mulscc %%g1,%3,%%g1\n" \
1088 "mulscc %%g1,%3,%%g1\n" \
1089 "mulscc %%g1,%3,%%g1\n" \
1090 "mulscc %%g1,%3,%%g1\n" \
1091 "mulscc %%g1,%3,%%g1\n" \
1092 "mulscc %%g1,%3,%%g1\n" \
1093 "mulscc %%g1,%3,%%g1\n" \
1094 "mulscc %%g1,%3,%%g1\n" \
1095 "mulscc %%g1,%3,%%g1\n" \
1107 #define udiv_qrnnd(q, r, n1, n0, d) \ argument
1118 "bcs 3f\n\t" \
1120 "b 3f\n\t" \
1130 "3: xnor %0,0,%0\n\t" \
1134 : "r" ((USItype)(d)), \
1137 #define UDIV_TIME (3+7*32) /* 7 instructions/iteration. 32 iterations. */
1147 "adwc %3,%0" \
1156 "sbwc %3,%0" \
1177 #define sdiv_qrnnd(q, r, n1, n0, d) \ argument
1183 __asm__ ("ediv %3,%2,%0,%1" \
1185 : "g" (__xx.__ll), "g" (d)); \
1308 #define __udiv_qrnnd_c(q, r, n1, n0, d) \ argument
1311 __d1 = __ll_highpart(d); \
1312 __d0 = __ll_lowpart(d); \
1319 __q1--, __r1 += (d); \
1320 if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */ \
1322 __q1--, __r1 += (d); \
1331 __q0--, __r0 += (d); \
1332 if (__r0 >= (d)) \
1334 __q0--, __r0 += (d); \
1345 #define udiv_qrnnd(q, r, nh, nl, d) \ argument
1348 (q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \