[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/arsenm/fcmp-generic-tristate-op'. Changed from fee444e754bae0fa58913dd49f2795cd9dc982a6 to 2ab8e287f15812147cd97e519604d820d5d46bf1 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 6bc605cd0dcd47f83c42accd45dabe3a57e4fa13 by Matt Arsenault on 02/08/2026 at 21:44.. RuntimeLibcalls: Split soft-float three-way compares into distinct libcall kinds Soft-float compares come in two flavors. ARM AEABI (__aeabi_dcmpeq) and VFP (__eqdf2vfp) return a simple 0/1 boolean and use the existing O*_F* / UO_F* libcalls. The libgcc/compiler-rt helpers (__eqdf2, __ltdf2, ...) return a three-way -1/0/1, which the legalizer needs to insert the appropriate compare against. The three-way helpers previously masqueraded as O*_F* implementations, with the condition code recovered from a hardcoded switch. Model them instead as distinct operations. The legalizer then reasons about how to make use of the call result based on which flavor of operation is available, rather than special casing what the specific implementation is. This leaves the mspabi cases for a later cleanup, because it's 3-way usage is slightly different from the ARM case. Co-authored-by: Claude (Opus 4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/6bc605cd0dcd47f83c42accd45dabe3a57e4fa13 Git commit 2ab8e287f15812147cd97e519604d820d5d46bf1 by Matt Arsenault on 03/08/2026 at 04:28.. RuntimeLibcalls: Add generic FCMP3_F* three-way compare for single-symbol ABIs MSP430's __mspabi_cmpd/__mspabi_cmpf are one three-way compare symbol serving every predicate, previously modeled as six suffixed impls each. Replace them with a single generic operator FCMP3_*, and give softenSetCCOperands a 3rd lowering option. After the boolean O*_F* and the per-predicate FCMP3_<pred>_F* helpers, use the generic FCMP3_F* helper tested with the predicate's condition code. Also opt __nedf2 out of the MSP430 default set: it was the only libgcc F64 compare not already opted out, so it would otherwise provide FCMP3_UNE_F64 and win over __mspabi_cmpd for not-equal. Co-authored-by: Claude (Opus 4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/2ab8e287f15812147cd97e519604d820d5d46bf1