[Bug target/94646] New: [arm] invalid codegen for conversion from 64-bit int to double hardfloat
bugdal at aerifal dot cx
gcc-bugzilla@gcc.gnu.org
Sat Apr 18 05:33:28 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94646
Bug ID: 94646
Summary: [arm] invalid codegen for conversion from 64-bit int
to double hardfloat
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: bugdal at aerifal dot cx
Target Milestone: ---
GCC emits a call to __aeabi_l2d to convert from long long to double. This is
invalid for hardfloat ABI because it does not honor rounding modes or raise
exception flags. That in turn causes the implementation of fma in musl libc to
produce wrong results for non-default rounding modes.
More information about the Gcc-bugs
mailing list