http://llvm.org/bugs/show_bug.cgi?id=7636
Summary: thumb2 ldmia.w used as a return doesn't write back SP
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
When a ldmia.w is generated that includes the PC in the register list,
it doesn't update the stack pointer, e.g.:
ldmia.w sp, {r4, r5, r6, r8, pc}
should be:
ldmia.w sp!, {r4, r5, r6, r8, pc}
Strangely, in case where the register list contains LR instead of PC, the write
back is done.
A test case has to be sufficiently complicated to use ldmia.w rather than pop.
I have not attached one. If one is needed, let me know.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs