The __aeabi_memcpy(standard lib) function provided by arm compiler 6 use r12 as a intermediate variable.
As i know, r12 is not preserved by caller or callee.
If a caller uses r12 for some purpose before __aeabi_memcpy,then r12 will be corrupted after __aeabi_memcpy.
Is it right? Or compiler will do something to prevent?