// Check if we can use an optimized path ((length >= 32) && destination word-aligned && source word-aligned) for the memcopy (optimized path if r0 == 1)\r
tst r0, #0xF\r
it ne\r
- movne r0, #0\r
+ movne.n r0, #0\r
bne memcopy_default\r
tst r1, #0xF\r
- ite ne\r
- movne r3, #0\r
- moveq r3, #1\r
+ it ne\r
+ movne.n r3, #0\r
+ it eq\r
+ moveq.n r3, #1\r
cmp r2, #31\r
- ite ls\r
- movls r0, #0\r
- andhi r0, r3, #1\r
+ it ls\r
+ movls.n r0, #0\r
+ bls memcopy_default\r
+ and r0, r3, #1\r
b memcopy_default\r
\r
memcopy_check_optim_overlap:\r
\r
// Are we in the optimized case ((length >= 32) && dest_end word-aligned && source_end word-aligned)\r
cmp r2, #31\r
- ite ls\r
- movls r0, #0\r
- movhi r0, #1\r
+ it ls\r
+ movls.n r0, #0\r
+ it hi\r
+ movhi.n r0, #1\r
tst r10, #0xF\r
it ne\r
- movne r0, #0\r
+ movne.n r0, #0\r
tst r14, #0xF\r
it ne\r
- movne r0, #0\r
+ movne.n r0, #0\r
b memcopy_overlapped\r
\r
memcopy_overlapped_non_optim:\r
\r
// If length is less than 32 then disable optim\r
it ls\r
- movls r0, #0\r
+ movls.n r0, #0\r
\r
cmp r12, #0\r
\r
\r
// If length is less than 32 then disable optim\r
it ls\r
- movls r0, #0\r
+ movls.n r0, #0\r
\r
cmp r12, #0\r
\r