Author: Phoebe Wang Date: 2022-08-04T22:31:16+08:00 New Revision: e4b3fad1facdb3f005ec77f607a2b05e3e9fcbad
URL: https://github.com/llvm/llvm-project/commit/e4b3fad1facdb3f005ec77f607a2b05e3e9fcbad DIFF: https://github.com/llvm/llvm-project/commit/e4b3fad1facdb3f005ec77f607a2b05e3e9fcbad.diff LOG: [clang][llvm][doc] Add more information for the ABI change in FP16 Differential Revision: https://reviews.llvm.org/D131172 Added: Modified: clang/docs/ReleaseNotes.rst llvm/docs/ReleaseNotes.rst Removed: ################################################################################ diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 84c74335ea5d1..41e9e09d6b436 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -619,6 +619,19 @@ X86 Support in Clang will be used by Linux kernel mitigations for RETBLEED. The corresponding flag ``-mfunction-return=keep`` may be appended to disable the feature. +The ``_Float16`` type requires SSE2 feature and above due to the instruction +limitations. When using it on i386 targets, you need to specify ``-msse2`` +explicitly. + +For targets without F16C feature or above, please make sure: + +- Use GCC 12.0 and above if you are using libgcc. +- If you are using compiler-rt, use the same version with the compiler. +Early versions provided FP16 builtins in a diff erent ABI. A workaround is to use +a small code snippet to check the ABI if you cannot make sure of it. +- If you are using downstream runtimes that provide FP16 conversions, update +them with the new ABI. + DWARF Support in Clang ---------------------- diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index cf41439d8dd74..d94687263bb3f 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -186,9 +186,25 @@ Changes to the WebAssembly Backend Changes to the X86 Backend -------------------------- -* Support ``half`` type on SSE2 and above targets. +* Support ``half`` type on SSE2 and above targets following X86 psABI. * Support ``rdpru`` instruction on Zen2 and above targets. +During this release, ``half`` type has an ABI breaking change to provide the +support for the ABI of ``_Float16`` type on SSE2 and above following X86 psABI. +(`D107082 <https://reviews.llvm.org/D107082>`_) + +The change may affect the current use of ``half`` includes (but is not limited +to): + +* Frontends generating ``half`` type in function passing and/or returning +arguments. +* Downstream runtimes providing any ``half`` conversion builtins assuming the +old ABI. +* Projects built with LLVM 15.0 but using early versions of compiler-rt. + +When you find failures with ``half`` type, check the calling conversion of the +code and switch it to the new ABI. + Changes to the OCaml bindings ----------------------------- _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits