[llvm-bugs] [Bug 34167] New: r291677 breaks AEABI comparison function on hard FP targets
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Aug 11 18:12:24 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=34167
Bug ID: 34167
Summary: r291677 breaks AEABI comparison function on hard FP
targets
Product: compiler-rt
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: release blocker
Priority: P
Component: compiler-rt
Assignee: unassignedbugs at nondot.org
Reporter: anton at korobeynikov.info
CC: llvm-bugs at lists.llvm.org
r291677 changes the calling convention of compiler builtin function on hard FP
targets. However, it seems that not all AEABI builtins were updated for this
new CC.
Consider __aeabi_fcmpeq. It received the arguments, as it should,
using the AAPCS calling convention in r0/r1, then __aeabi_fcmpeq directly calls
__eqsf2. But on HF target we'll end with __eqsf2 that expects to receive
arguments in s0/s1 and latter does:
+#if defined(COMPILER_RT_ARMHF_TARGET)
+ vmov r0, s0
+ vmov r1, s1
+#endif
trashing the contents of r0/r1 with whatever values were in s0/s1.
This affects both ToT, 4.0 and 5.0
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170812/330d411c/attachment.html>
More information about the llvm-bugs
mailing list