[all-commits] [llvm/llvm-project] 6d03f5: [SystemZ] Add support for 16-bit floating point. (...
Jonas Paulsson via All-commits
all-commits at lists.llvm.org
Wed Apr 16 11:03:18 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6d03f51f0c59171f1ec3c5cc5c1fe71c30956273
https://github.com/llvm/llvm-project/commit/6d03f51f0c59171f1ec3c5cc5c1fe71c30956273
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/Targets/SystemZ.cpp
A clang/test/CodeGen/SystemZ/Float16.c
A clang/test/CodeGen/SystemZ/fp16.c
M clang/test/CodeGen/SystemZ/strictfp_builtins.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/clear_cache.c
A compiler-rt/lib/builtins/extendhfdf2.c
M compiler-rt/test/builtins/CMakeLists.txt
A compiler-rt/test/builtins/Unit/extendhfdf2_test.c
M llvm/docs/LangRef.rst
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZFeatures.td
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
M llvm/test/CodeGen/SystemZ/asm-10.ll
M llvm/test/CodeGen/SystemZ/asm-17.ll
M llvm/test/CodeGen/SystemZ/asm-19.ll
A llvm/test/CodeGen/SystemZ/atomic-load-10.ll
A llvm/test/CodeGen/SystemZ/atomic-store-10.ll
A llvm/test/CodeGen/SystemZ/atomicrmw-fadd-04.ll
M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
M llvm/test/CodeGen/SystemZ/fp-abs-01.ll
M llvm/test/CodeGen/SystemZ/fp-abs-03.ll
M llvm/test/CodeGen/SystemZ/fp-abs-04.ll
M llvm/test/CodeGen/SystemZ/fp-add-01.ll
M llvm/test/CodeGen/SystemZ/fp-cmp-04.ll
M llvm/test/CodeGen/SystemZ/fp-conv-05.ll
M llvm/test/CodeGen/SystemZ/fp-conv-06.ll
M llvm/test/CodeGen/SystemZ/fp-conv-07.ll
M llvm/test/CodeGen/SystemZ/fp-conv-08.ll
M llvm/test/CodeGen/SystemZ/fp-conv-09.ll
M llvm/test/CodeGen/SystemZ/fp-conv-10.ll
M llvm/test/CodeGen/SystemZ/fp-conv-11.ll
M llvm/test/CodeGen/SystemZ/fp-conv-12.ll
M llvm/test/CodeGen/SystemZ/fp-conv-13.ll
M llvm/test/CodeGen/SystemZ/fp-conv-14.ll
M llvm/test/CodeGen/SystemZ/fp-conv-20.ll
A llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
M llvm/test/CodeGen/SystemZ/fp-div-01.ll
A llvm/test/CodeGen/SystemZ/fp-half-cmp.ll
A llvm/test/CodeGen/SystemZ/fp-half-libcall.ll
A llvm/test/CodeGen/SystemZ/fp-half-mem.ll
A llvm/test/CodeGen/SystemZ/fp-half-move.ll
A llvm/test/CodeGen/SystemZ/fp-half-strict.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector.ll
A llvm/test/CodeGen/SystemZ/fp-half.ll
M llvm/test/CodeGen/SystemZ/fp-libcall.ll
M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
M llvm/test/CodeGen/SystemZ/fp-mul-06.ll
M llvm/test/CodeGen/SystemZ/fp-mul-08.ll
M llvm/test/CodeGen/SystemZ/fp-mul-10.ll
A llvm/test/CodeGen/SystemZ/fp-mul-15.ll
M llvm/test/CodeGen/SystemZ/fp-neg-01.ll
M llvm/test/CodeGen/SystemZ/fp-neg-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-sqrt-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-cmp-04.ll
M llvm/test/CodeGen/SystemZ/fp-strict-cmps-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-cmps-04.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-05.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-06.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-07.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-08.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-09.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-11.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-13.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-14.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-15.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll
M llvm/test/CodeGen/SystemZ/fp-strict-div-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-mul-06.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-strict-sqrt-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-sub-01.ll
M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs-zEC12.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-zEC12.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting.ll
M llvm/test/CodeGen/SystemZ/is_fpclass.ll
A llvm/test/CodeGen/SystemZ/spill-half-01.mir
A llvm/test/CodeGen/SystemZ/spill-half-02.mir
M llvm/test/CodeGen/SystemZ/stackmap.ll
M llvm/test/CodeGen/SystemZ/tdc-01.ll
M llvm/test/CodeGen/SystemZ/tdc-02.ll
M llvm/test/CodeGen/SystemZ/tdc-03.ll
M llvm/test/CodeGen/SystemZ/tdc-04.ll
M llvm/test/CodeGen/SystemZ/tdc-05.ll
M llvm/test/CodeGen/SystemZ/tdc-06.ll
M llvm/test/CodeGen/SystemZ/twoaddr-kill.mir
M llvm/test/CodeGen/SystemZ/vec-max-05.ll
M llvm/test/CodeGen/SystemZ/vec-min-05.ll
M llvm/test/CodeGen/SystemZ/vec-strict-max-01.ll
M llvm/test/CodeGen/SystemZ/vec-strict-min-01.ll
Log Message:
-----------
[SystemZ] Add support for 16-bit floating point. (#109164)
- _Float16 is now accepted by Clang.
- The half IR type is fully handled by the backend.
- These values are passed in FP registers and converted to/from float around
each operation.
- Compiler-rt conversion functions are now built for s390x including the missing
extendhfdf2 which was added.
Fixes #50374
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list