[PATCH] D12089: Implement __aeabi_c{d,f}{cmpeq,cmple,rcmple}.
Josh Gao via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 18 13:52:33 PDT 2015
jmgao added a comment.
In http://reviews.llvm.org/D12089#226545, @rengolin wrote:
> Also, avoid using push lr / pop pc, since this behaviour doesn't work across all ARM cores. There's a macro for returning that should be used.
Ugh, I didn't know that ARMv4's `pop {pc}` doesn't work with switching Thumb mode. Are there any other problems with that?
There are several other functions that use `push {lr}`, `pop {pc}`. What do you think about something along the lines of the following?
#if __ARM_ARCH > 4 || !defined(__ARM_ARCH_ISA_THUMB)
#define POP_FRAME(registers) \
pop {registers, pc}
#else
#define POP_FRAME(registers) \
pop {registers} \
pop {lr} \
JMP(lr)
#endif
Repository:
rL LLVM
http://reviews.llvm.org/D12089
More information about the llvm-commits
mailing list