On 9/28/25 2:59 AM, Jonathan Yong wrote:
On 9/14/25 5:35 AM, Trevor Gross wrote:
On Sat Sep 13, 2025 at 11:53 PM CDT, LIU Hao wrote:
在 2025-9-14 08:50, Trevor Gross 写道:
For MinGW on x86-64, GCC currently passes and returns `_Float16` in
GPRs. Microsoft does not specify an ABI for the type so this is purely
an extension; however, there are a few reasons the current ABI is not
ideal:
1. `float` and `double` are both passed and returned in xmm registers
under the MSVC ABI, there isn't any reason for `_Float16` to
deviate.
2. `_Float16` is returned in xmm0 on Windows x86-32 by both GCC and
Clang.
2. There is a platform-natural ABI with AVX512-FP16, which requires
half-precision operands to be in vector registers.
3. System V uses vector registers for `_Float16`.
these numbers should read 1, 2, 3, 4 instead of 1, 2, 2, 3.
Good catch. Want me to resend or can you fix it before committing?
- Trevor
Any updates on this?
Fixed the minor numbering issue and spacing, bootstraped on x86_64 linux
and pushed to master branch.
Thanks.