[llvm] [SystemZ] Support fp16 vector ABI and basic codegen. (PR #171066)

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 9 07:37:04 PST 2025


================
@@ -0,0 +1,709 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
+; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z16 | FileCheck %s --check-prefix=VECTOR
+;
+; Test passing fp16 vector arguments.
+
+ at Fnptr = external global ptr
+ at Src = external global ptr
+ at Dst = external global ptr
+
+%Ty0 = type <8 x half>
+define void @fun0_arg(%Ty0 %A) {
+; CHECK-LABEL: fun0_arg:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    lgh %r0, 166(%r15)
----------------
JonPsson1 wrote:

I guess this is the same "LLVM IR ABI" type of arguments as with the {i128} - it works the same if I use <4 x float>. Maybe I should add some Clang FE test case to see the Z ABI compliant code being emitted?



https://github.com/llvm/llvm-project/pull/171066


More information about the llvm-commits mailing list