================
@@ -126,3 +138,23 @@ define void @f9(ptr %cptr, ptr %aptr, ptr %bptr) {
store fp128 %c, ptr %cptr
ret void
}
+
+; Test f16 copies in which the sign comes from an f16.
+define half @f10(half %a, half %b) {
+; CHECK-LABEL: f10:
+; CHECK: brasl %r14, copysignh@PLT
----------------
tgross35 wrote:
I think `abs` and `copysign` are generally libcall-free, so that would be
preferable here if possible.
Not related with that change but as a note, I don't think the `h` suffix exists
for `math.h` routines. C23 does specify sized suffixes however, so e.g.
`copysignf16` is valid and is provided by both [LLVM's
`libc`](https://github.com/llvm/llvm-project/blob/749535ba2808e133682074f712ac6829335f8875/libc/src/math/generic/copysignf16.cpp#L16)
and [Rust's
builtins](https://docs.rs/compiler_builtins/latest/compiler_builtins/math/full_availability/fn.copysignf16.html).
https://github.com/llvm/llvm-project/pull/109164
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits