strd needs the destination to be double-word aligned, but the pointer passed
to savectx isn't always, so always use stmia, savectx isn't called enough to need that kind of optimization.
This commit is contained in:
parent
fe5395b846
commit
8502ccfe17
@ -455,14 +455,8 @@ ENTRY(savectx)
|
|||||||
* r0 = pcb
|
* r0 = pcb
|
||||||
*/
|
*/
|
||||||
/* Store all the registers in the process's pcb */
|
/* Store all the registers in the process's pcb */
|
||||||
#ifndef __XSCALE__
|
|
||||||
add r2, r0, #(PCB_R8)
|
add r2, r0, #(PCB_R8)
|
||||||
stmia r2, {r8-r13}
|
stmia r2, {r8-r13}
|
||||||
#else
|
|
||||||
strd r8, [r0, #(PCB_R8)]
|
|
||||||
strd r10, [r0, #(PCB_R10)]
|
|
||||||
strd r12, [r0, #(PCB_R12)]
|
|
||||||
#endif
|
|
||||||
ldmfd sp!, {r4-r7, pc}
|
ldmfd sp!, {r4-r7, pc}
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user