[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:27:36 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:
Regarding how to build and link, they are in compiler-rt if that can be built https://github.com/llvm/llvm-project/blob/fa22100d57631bbb0a507dd27e3ebb24b1354623/compiler-rt/lib/builtins/truncsfhf2.c#L15. `__trunc` and `__extend` are what you want to emit here, I'm just not sure what exactly this file needs to do because it seems like `HasLegalHalfType` controls `__extend`/`__trunc` vs. `__gnu_` lowering somehow https://github.com/llvm/llvm-project/pull/109164#issuecomment-2433525551.
https://github.com/llvm/llvm-project/pull/109164
More information about the cfe-commits
mailing list