Lines Matching defs:divisor

327 divisor		.req	r1
342 .macro ARM_DIV_BODY dividend, divisor, result, curbit
347 clz \result, \divisor
357 cmp \dividend, \divisor, lsl #shift
359 subcs \dividend, \dividend, \divisor, lsl #shift
365 clz \curbit, \divisor
369 mov \divisor, \divisor, lsl \result
375 @ Initially shift the divisor left 3 bits if possible,
379 tst \divisor, #0xe0000000
380 moveq \divisor, \divisor, lsl #3
384 @ Unless the divisor is very big, shift it up in multiples of
386 @ division loop. Continue shifting until the divisor is
388 1: cmp \divisor, #0x10000000
389 cmplo \divisor, \dividend
390 movlo \divisor, \divisor, lsl #4
396 1: cmp \divisor, #0x80000000
397 cmplo \divisor, \dividend
398 movlo \divisor, \divisor, lsl #1
407 1: cmp \dividend, \divisor
408 subhs \dividend, \dividend, \divisor
410 cmp \dividend, \divisor, lsr #1
411 subhs \dividend, \dividend, \divisor, lsr #1
413 cmp \dividend, \divisor, lsr #2
414 subhs \dividend, \dividend, \divisor, lsr #2
416 cmp \dividend, \divisor, lsr #3
417 subhs \dividend, \dividend, \divisor, lsr #3
421 movne \divisor, \divisor, lsr #4
428 .macro ARM_DIV2_ORDER divisor, order
432 clz \order, \divisor
437 cmp \divisor, #(1 << 16)
438 movhs \divisor, \divisor, lsr #16
442 cmp \divisor, #(1 << 8)
443 movhs \divisor, \divisor, lsr #8
446 cmp \divisor, #(1 << 4)
447 movhs \divisor, \divisor, lsr #4
450 cmp \divisor, #(1 << 2)
452 addls \order, \order, \divisor, lsr #1
458 .macro ARM_MOD_BODY dividend, divisor, order, spare
462 clz \order, \divisor
471 cmp \dividend, \divisor, lsl #shift
472 subcs \dividend, \dividend, \divisor, lsl #shift
478 clz \order, \divisor
481 mov \divisor, \divisor, lsl \order
487 @ Unless the divisor is very big, shift it up in multiples of
489 @ division loop. Continue shifting until the divisor is
491 1: cmp \divisor, #0x10000000
492 cmplo \divisor, \dividend
493 movlo \divisor, \divisor, lsl #4
499 1: cmp \divisor, #0x80000000
500 cmplo \divisor, \dividend
501 movlo \divisor, \divisor, lsl #1
512 1: cmp \dividend, \divisor
513 subhs \dividend, \dividend, \divisor
514 cmp \dividend, \divisor, lsr #1
515 subhs \dividend, \dividend, \divisor, lsr #1
516 cmp \dividend, \divisor, lsr #2
517 subhs \dividend, \dividend, \divisor, lsr #2
518 cmp \dividend, \divisor, lsr #3
519 subhs \dividend, \dividend, \divisor, lsr #3
521 mov \divisor, \divisor, lsr #4
533 cmp \dividend, \divisor
534 subhs \dividend, \dividend, \divisor
535 mov \divisor, \divisor, lsr #1
536 3: cmp \dividend, \divisor
537 subhs \dividend, \dividend, \divisor
538 mov \divisor, \divisor, lsr #1
539 4: cmp \dividend, \divisor
540 subhs \dividend, \dividend, \divisor
552 @ Unless the divisor is very big, shift it up in multiples of
554 @ division loop. Continue shifting until the divisor is
556 cmp divisor, work
558 cmp divisor, dividend
560 lsl divisor, #4
569 cmp divisor, work
571 cmp divisor, dividend
573 lsl divisor, #1
583 cmp dividend, divisor
585 sub dividend, dividend, divisor
587 lsr work, divisor, #1
597 lsr work, divisor, #2
607 lsr work, divisor, #3
622 cmp dividend, divisor
624 sub dividend, dividend, divisor
627 lsr work, divisor, #1
634 lsr work, divisor, #2
641 lsr work, divisor, #3
654 lsr divisor, #4
682 lsr work, divisor, #3
690 lsr work, divisor, #2
698 lsr work, divisor, #1
713 cmp divisor, #0
719 cmp dividend, divisor
782 cmp divisor, #0
785 cmp dividend, divisor
799 subs r2, r1, #1 @ compare divisor with 1
801 cmpne r0, r1 @ compare dividend with divisor
803 tsthi r1, r2 @ see if divisor is power of 2
823 cmp divisor, #0
828 eor work, divisor @ Save the sign of the result.
832 cmp divisor, #0
834 neg divisor, divisor @ Loops below use unsigned.
840 cmp dividend, divisor
866 tst r1, r2 @ divisor is power of 2 ?
922 cmp divisor, #0
925 neg divisor, divisor @ Loops below use unsigned.
936 cmp dividend, divisor
956 subs r2, r1, #1 @ compare divisor with 1
957 cmpne r0, r1 @ compare dividend with divisor
959 tsthi r1, r2 @ see if divisor is power of 2