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

Trevor Gross via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 19 18:17:47 PST 2024


================
@@ -255,4 +255,9 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
     }
     setLibcallName(RTLIB::MULO_I128, nullptr);
   }
+
+  if (TT.isSystemZ()) {
+    setLibcallName(RTLIB::FPROUND_F32_F16, "__truncsfhf2");
+    setLibcallName(RTLIB::FPEXT_F16_F32, "__extendhfsf2");
+  }
----------------
tgross35 wrote:

Hm, I see they default to the `__gnu_` functions in this file. Some targets (wasm, hexagon) manually set it to `__extendhfsf2` and `__truncsfhf2` in `*SelfLowering.cpp` but why do targets like x86 correctly lower to these as well without an override either in this file or in selflowering?

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


More information about the cfe-commits mailing list