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
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #3 from Andrew Pinski ---
https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170#parameter-passing
So it uses floating point as the type. But then it is vague on those kind of
type. Gcc treats _Float16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #2 from Andrew Pinski ---
Does Microsoft's abi documents this case?
If not then gcc is as correct here as clang is.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054
--- Comment #1 from Andrew Pinski ---
What does msvc do?