The %arm_call_apsr expansion doesn't work when config.clang is a clang
driver defaulting to a non-ARM arch. Rather than fix it, replace
call_apsr.S with inline asm in call_apsr.h, which also resolves the
FIXME added in D31259.
Maybe the `__attribute__((noinline,pcs("aapcs")))` attributes are
unnecessary on the static functions, but I was unsure what liberty the
compiler had to insert instructions that modified the condition codes,
so it seemed helpful.
Differential Revision: https://reviews.llvm.org/D82147
|
||
|---|---|---|
| .. | ||
| aeabi_cdcmpeq_test.c | ||
| aeabi_cdcmple_test.c | ||
| aeabi_cfcmpeq_test.c | ||
| aeabi_cfcmple_test.c | ||
| aeabi_drsub_test.c | ||
| aeabi_frsub_test.c | ||
| aeabi_idivmod_test.c | ||
| aeabi_uidivmod_test.c | ||
| aeabi_uldivmod_test.c | ||
| call_apsr.h | ||