
5 Jul
2012
5 Jul
'12
5:52 p.m.
On 05.07.2012 17:38, Andreas Bießmann wrote:
<snip>
-clbss_l:str r2, [r0] /* clear loop... */ +clbss_l:
- cmp r1, r0
- bls clbss_end
- str r2, [r0] /* clear loop... */ add r0, r0, #4
- cmp r0, r1
- bne clbss_l
- b clbss_l
+clbss_end:
Looks sane, I maybe had checked before clbss_l, jumped over clear loop if r0 and r1 equal (to emphasize the fact that this is a check for entry correctness) and wouldn't change the loop at all. To be more precise we could also check if end is after start.
Well, I just realized you do check for less ;)