https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #8 from Trevor Gross ---
After some more digging it sounds like passing _Float128 arguments indirectly
is the correct thing to do, which is GCC's current behavior. Excerpts from the
calling convention [1]:
> Integer arguments are pa
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #7 from Trevor Gross ---
(In reply to connor horman from comment #6)
> According to: https://cs61.seas.harvard.edu/site/pdf/x86-64-abi-20210928.pdf
>
> > Arguments of types _Float16, float, double, _Decimal32, _Decimal64 and
> > __
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #5 from Trevor Gross ---
Looks like bugz cut off part of the sysv quote, here for reference:
> Arguments of types __float128, _Decimal128 and __m128 are split
> into two halves. The least significant ones belong to class SSE, the mo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #4 from Trevor Gross ---
To my knowledge, MSVC does not support or specify an ABI for 16- or 128-bit
IEEE floating point types, so I do suppose that either GCC or Clang could be
considered correct here.
SysV doesn't say anything abo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
Bug ID: 115054
Summary: __float128 and _Float16 use incorrect ABI on x86-64
MinGW
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102989
Trevor Gross changed:
What|Removed |Added
CC||tmgross at umich dot edu
--- Comment #95