[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm-project Pushed by mirror-service into branch 'upstream/users/chinmaydd/builtin-convert-from-arbitrary-fp'. Changed from 0000000000000000000000000000000000000000 to b824a69a854969635c926a8e05efc2e1e9f710f4 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit b824a69a854969635c926a8e05efc2e1e9f710f4 by Chinmay Deshpande on 27/07/2026 at 18:49.. [clang] Add __builtin_convert_from_arbitrary_fp Expose the llvm.convert.from.arbitrary.fp intrinsic as a target-independent builtin. It reinterprets an integer as the bits of a narrow floating-point format that has no corresponding C type, and widens it to a native floating-point type: _Float16 h = __builtin_convert_from_arbitrary_fp(b, "Float8E4M3FN", _Float16); Since the destination type cannot be derived from the arguments, it is passed as a type argument and the builtin is parsed as a keyword, following the __builtin_convertvector precedent. The format is a string literal validated with APFloatBase::isValidArbitraryFPFormat, so every format the IR verifier accepts is accepted here; formats that no target lowers yet keep being reported by the backend. The integer operand may be any integer type whose width matches the format, which covers char/unsigned char for the 8-bit formats and _BitInt for the narrower ones. Vector operands are supported with matching element counts. Clang only permits _BitInt vector elements of power-of-two width, so vectors of the 6-bit formats cannot be spelled. Change-Id: Ie725d2e7b1889f7c6368036a8c28e8ee18dd4125 Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/b824a69a854969635c926a8e05efc2e1e9f710f4