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

Reply via email to