diff options
| author | Thiago Macieira <thiago.macieira@intel.com> | 2020-06-25 14:05:09 -0700 |
|---|---|---|
| committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-11-28 10:59:20 -0800 |
| commit | 99c7f0419e66692260be56c0385badeacb3f6760 (patch) | |
| tree | ae8d1b032bb36c72c102f99d64fda35a9fdedbbb /src/gui/platform/unix/qunixnativeinterface.cpp | |
| parent | 21950e3085bd45dbd4b55fb76e3d47319cbb11d7 (diff) | |
qfloat16: add support for native _Float16 (C2x extended floating point)
The C++ equivalent is std::float16_t, defined in P1467[1], and is coming
with GCC 13 both in native mode (for x86, using AVX512FP16) and in
emulated mode. The C and C++ types will be the same type (<stdfloat>
simply typedefs).
qfloat16 will need to remain a wrapper with an integer member to keep
ABI with previous Qt versions. Because it is a trivially-copyable small
type, it gets currently passed in registers; the presence of the integer
member means it gets passed in general-purpose registers, while a single
_Float16 member would be passed in a floating-point register. See:
https://gcc.godbolt.org/z/8fEendjff
[1] https://wg21.link/p1467
Change-Id: I8a5b6425b64a4e319b94fffd161be56397cb48e6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/gui/platform/unix/qunixnativeinterface.cpp')
0 files changed, 0 insertions, 0 deletions
