Lines Matching full:r0
23 cmp r0, 0
25 clzne r0, r0
26 clzeq r0, r1
27 addeq r0, r0, 32
31 clzne r0, r1
32 clzeq r0, r0
33 addeq r0, r0, 32
39 // r0: n
42 // r2: scratch register for shifted r0
44 cmp r0, 0
45 moveq r0, r1
48 movne r0, r1
54 // if ((r0 >> SHIFT) == 0)
57 // r0 >>= SHIFT;
60 lsrs r2, r0, shift; \
61 movne r0, r2; \
69 // The basic block invariants at this point are (r0 >> 2) == 0 and
70 // r0 != 0. This means 1 <= r0 <= 3 and 0 <= (r0 >> 1) <= 1.
72 // r0 | (r0 >> 1) == 0 | (r0 >> 1) == 1 | -(r0 >> 1) | 1 - (r0 >> 1)
79 sub r0, r1, r0, lsr #1