[clang] [compiler-rt] [llvm] [SystemZ] Add support for half (fp16) (PR #109164)

Trevor Gross via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 20 12:32:25 PDT 2025


================
@@ -548,11 +543,28 @@ SystemZTargetLowering::SystemZTargetLowering(const TargetMachine &TM,
   }
 
   // Handle floating-point types.
+  if (!useSoftFloat()) {
+    // Promote all f16 operations to float, with some exceptions below.
+    for (unsigned Opc = 0; Opc < ISD::BUILTIN_OP_END; ++Opc)
+      setOperationAction(Opc, MVT::f16, Promote);
----------------
tgross35 wrote:

@nikic are you referring to https://github.com/llvm/llvm-project/issues/97975 and https://github.com/llvm/llvm-project/issues/97981? It would probably be good to add a test against those issues here if there isn't already. 

Cc issue author @beetrees

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


More information about the llvm-commits mailing list