am 90de6820
: Merge "Replace bx lr with update of pc from the stack."
* commit '90de6820f736de1239b218ea2b63d15c38505e93': Replace bx lr with update of pc from the stack.
This commit is contained in:
commit
ce302bff6a
@ -133,8 +133,7 @@ ENTRY_PRIVATE(MEMCPY_BASE)
|
|||||||
strbcs ip, [r0], #1
|
strbcs ip, [r0], #1
|
||||||
strbcs lr, [r0], #1
|
strbcs lr, [r0], #1
|
||||||
|
|
||||||
ldmfd sp!, {r0, lr}
|
ldmfd sp!, {r0, pc}
|
||||||
bx lr
|
|
||||||
END(MEMCPY_BASE)
|
END(MEMCPY_BASE)
|
||||||
|
|
||||||
ENTRY_PRIVATE(MEMCPY_BASE_ALIGNED)
|
ENTRY_PRIVATE(MEMCPY_BASE_ALIGNED)
|
||||||
|
@ -136,8 +136,7 @@ ENTRY_PRIVATE(__memset_large_copy)
|
|||||||
strbcs r1, [r0], #1
|
strbcs r1, [r0], #1
|
||||||
strbmi r1, [r0], #1
|
strbmi r1, [r0], #1
|
||||||
subs r2, r2, r3
|
subs r2, r2, r3
|
||||||
popls {r0, r4-r7, lr} /* return */
|
popls {r0, r4-r7, pc} /* return */
|
||||||
bxls lr
|
|
||||||
|
|
||||||
/* align the destination to a cache-line */
|
/* align the destination to a cache-line */
|
||||||
mov r12, r1
|
mov r12, r1
|
||||||
@ -180,8 +179,7 @@ ENTRY_PRIVATE(__memset_large_copy)
|
|||||||
strhmi r1, [r0], #2
|
strhmi r1, [r0], #2
|
||||||
movs r2, r2, lsl #2
|
movs r2, r2, lsl #2
|
||||||
strbcs r1, [r0]
|
strbcs r1, [r0]
|
||||||
ldmfd sp!, {r0, r4-r7, lr}
|
ldmfd sp!, {r0, r4-r7, pc}
|
||||||
bx lr
|
|
||||||
END(__memset_large_copy)
|
END(__memset_large_copy)
|
||||||
|
|
||||||
.data
|
.data
|
||||||
|
@ -221,8 +221,7 @@ ENTRY(memcmp)
|
|||||||
bne 8b
|
bne 8b
|
||||||
|
|
||||||
9: /* restore registers and return */
|
9: /* restore registers and return */
|
||||||
ldmfd sp!, {r4, lr}
|
ldmfd sp!, {r4, pc}
|
||||||
bx lr
|
|
||||||
|
|
||||||
10: /* process less than 12 bytes */
|
10: /* process less than 12 bytes */
|
||||||
cmp r2, #0
|
cmp r2, #0
|
||||||
|
@ -194,8 +194,7 @@ ENTRY(memcpy)
|
|||||||
|
|
||||||
/* we're done! restore everything and return */
|
/* we're done! restore everything and return */
|
||||||
1: ldmfd sp!, {r5-r11}
|
1: ldmfd sp!, {r5-r11}
|
||||||
ldmfd sp!, {r0, r4, lr}
|
ldmfd sp!, {r0, r4, pc}
|
||||||
bx lr
|
|
||||||
|
|
||||||
/********************************************************************/
|
/********************************************************************/
|
||||||
|
|
||||||
@ -385,8 +384,7 @@ ENTRY(memcpy)
|
|||||||
|
|
||||||
/* we're done! restore sp and spilled registers and return */
|
/* we're done! restore sp and spilled registers and return */
|
||||||
add sp, sp, #28
|
add sp, sp, #28
|
||||||
ldmfd sp!, {r0, r4, lr}
|
ldmfd sp!, {r0, r4, pc}
|
||||||
bx lr
|
|
||||||
END(memcpy)
|
END(memcpy)
|
||||||
|
|
||||||
// Only reached when the __memcpy_chk check fails.
|
// Only reached when the __memcpy_chk check fails.
|
||||||
|
@ -82,8 +82,7 @@ ENTRY(memset)
|
|||||||
strbcs r1, [r0], #1
|
strbcs r1, [r0], #1
|
||||||
strbmi r1, [r0], #1
|
strbmi r1, [r0], #1
|
||||||
subs r2, r2, r3
|
subs r2, r2, r3
|
||||||
popls {r0, r4-r7, lr} /* return */
|
popls {r0, r4-r7, pc} /* return */
|
||||||
bxls lr
|
|
||||||
|
|
||||||
/* align the destination to a cache-line */
|
/* align the destination to a cache-line */
|
||||||
mov r12, r1
|
mov r12, r1
|
||||||
@ -126,8 +125,7 @@ ENTRY(memset)
|
|||||||
strhmi r1, [r0], #2
|
strhmi r1, [r0], #2
|
||||||
movs r2, r2, lsl #2
|
movs r2, r2, lsl #2
|
||||||
strbcs r1, [r0]
|
strbcs r1, [r0]
|
||||||
ldmfd sp!, {r0, r4-r7, lr}
|
ldmfd sp!, {r0, r4-r7, pc}
|
||||||
bx lr
|
|
||||||
END(memset)
|
END(memset)
|
||||||
|
|
||||||
.data
|
.data
|
||||||
|
@ -118,6 +118,5 @@ ENTRY_PRIVATE(MEMCPY_BASE)
|
|||||||
strbcs ip, [r0], #1
|
strbcs ip, [r0], #1
|
||||||
strbcs lr, [r0], #1
|
strbcs lr, [r0], #1
|
||||||
|
|
||||||
ldmfd sp!, {r0, lr}
|
ldmfd sp!, {r0, pc}
|
||||||
bx lr
|
|
||||||
END(MEMCPY_BASE)
|
END(MEMCPY_BASE)
|
||||||
|
Loading…
Reference in New Issue
Block a user