Lines Matching refs:divisor

229 divisor		.req	r1  label
244 .macro ARM_DIV_BODY dividend, divisor, result, curbit
248 clz \curbit, \divisor
252 mov \divisor, \divisor, lsl \result
258 @ Initially shift the divisor left 3 bits if possible,
262 tst \divisor, #0xe0000000
263 moveq \divisor, \divisor, lsl #3
267 @ Unless the divisor is very big, shift it up in multiples of
269 @ division loop. Continue shifting until the divisor is
271 1: cmp \divisor, #0x10000000
272 cmplo \divisor, \dividend
273 movlo \divisor, \divisor, lsl #4
279 1: cmp \divisor, #0x80000000
280 cmplo \divisor, \dividend
281 movlo \divisor, \divisor, lsl #1
290 1: cmp \dividend, \divisor
291 subhs \dividend, \dividend, \divisor
293 cmp \dividend, \divisor, lsr #1
294 subhs \dividend, \dividend, \divisor, lsr #1
296 cmp \dividend, \divisor, lsr #2
297 subhs \dividend, \dividend, \divisor, lsr #2
299 cmp \dividend, \divisor, lsr #3
300 subhs \dividend, \dividend, \divisor, lsr #3
304 movne \divisor, \divisor, lsr #4
309 .macro ARM_DIV2_ORDER divisor, order
313 clz \order, \divisor
318 cmp \divisor, #(1 << 16)
319 movhs \divisor, \divisor, lsr #16
323 cmp \divisor, #(1 << 8)
324 movhs \divisor, \divisor, lsr #8
327 cmp \divisor, #(1 << 4)
328 movhs \divisor, \divisor, lsr #4
331 cmp \divisor, #(1 << 2)
333 addls \order, \order, \divisor, lsr #1
339 .macro ARM_MOD_BODY dividend, divisor, order, spare
343 clz \order, \divisor
346 mov \divisor, \divisor, lsl \order
352 @ Unless the divisor is very big, shift it up in multiples of
354 @ division loop. Continue shifting until the divisor is
356 1: cmp \divisor, #0x10000000
357 cmplo \divisor, \dividend
358 movlo \divisor, \divisor, lsl #4
364 1: cmp \divisor, #0x80000000
365 cmplo \divisor, \dividend
366 movlo \divisor, \divisor, lsl #1
377 1: cmp \dividend, \divisor
378 subhs \dividend, \dividend, \divisor
379 cmp \dividend, \divisor, lsr #1
380 subhs \dividend, \dividend, \divisor, lsr #1
381 cmp \dividend, \divisor, lsr #2
382 subhs \dividend, \dividend, \divisor, lsr #2
383 cmp \dividend, \divisor, lsr #3
384 subhs \dividend, \dividend, \divisor, lsr #3
386 mov \divisor, \divisor, lsr #4
398 cmp \dividend, \divisor
399 subhs \dividend, \dividend, \divisor
400 mov \divisor, \divisor, lsr #1
401 3: cmp \dividend, \divisor
402 subhs \dividend, \dividend, \divisor
403 mov \divisor, \divisor, lsr #1
404 4: cmp \dividend, \divisor
405 subhs \dividend, \dividend, \divisor
414 @ Unless the divisor is very big, shift it up in multiples of
416 @ division loop. Continue shifting until the divisor is
418 cmp divisor, work
420 cmp divisor, dividend
422 lsl divisor, #4
431 cmp divisor, work
433 cmp divisor, dividend
435 lsl divisor, #1
445 cmp dividend, divisor
447 sub dividend, dividend, divisor
449 lsr work, divisor, #1
459 lsr work, divisor, #2
469 lsr work, divisor, #3
484 cmp dividend, divisor
486 sub dividend, dividend, divisor
489 lsr work, divisor, #1
496 lsr work, divisor, #2
503 lsr work, divisor, #3
516 lsr divisor, #4
544 lsr work, divisor, #3
552 lsr work, divisor, #2
560 lsr work, divisor, #1
574 cmp divisor, #0
580 cmp dividend, divisor
625 cmp divisor, #0
628 cmp dividend, divisor
642 subs r2, r1, #1 @ compare divisor with 1
644 cmpne r0, r1 @ compare dividend with divisor
646 tsthi r1, r2 @ see if divisor is power of 2
665 cmp divisor, #0
670 eor work, divisor @ Save the sign of the result.
674 cmp divisor, #0
676 neg divisor, divisor @ Loops below use unsigned.
682 cmp dividend, divisor
708 tst r1, r2 @ divisor is power of 2 ?
746 cmp divisor, #0
749 neg divisor, divisor @ Loops below use unsigned.
760 cmp dividend, divisor
780 subs r2, r1, #1 @ compare divisor with 1
781 cmpne r0, r1 @ compare dividend with divisor
783 tsthi r1, r2 @ see if divisor is power of 2