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:
cognet 2005-10-04 20:42:42 +00:00
parent fe5395b846
commit 8502ccfe17

View File

@ -455,14 +455,8 @@ ENTRY(savectx)
* r0 = pcb
*/
/* Store all the registers in the process's pcb */
#ifndef __XSCALE__
add r2, r0, #(PCB_R8)
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}
RET