.thumb\r
.syntax unified\r
.align 5\r
+ .type ASM_PFX(InternalMemCompareMem), %function\r
ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
push {r4-r8, lr}\r
bic src1, src1, #3\r
bic src2, src2, #3\r
add limit, limit, tmp1 // Adjust the limit for the extra.\r
- lsl tmp1, tmp1, #2 // Bytes beyond alignment -> bits.\r
+ lsl tmp1, tmp1, #3 // Bytes beyond alignment -> bits.\r
ldr data1, [src1], #4\r
- neg tmp1, tmp1 // Bits to alignment -32.\r
+ rsb tmp1, tmp1, #32 // Bits to alignment -32.\r
ldr data2, [src2], #4\r
mov tmp2, #~0\r
\r
ldrb data2, [src2], #1\r
subs limit, limit, #1\r
it cs\r
- cmpcs data1, data2\r
+ cmpcs.n data1, data2\r
beq 1b\r
sub result, data1, data2\r
pop {r4-r8, pc}\r