================ @@ -0,0 +1,65 @@ +; Test copysign intrinsics involving half. +; +; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s + +declare half @llvm.copysign.f16(half, half) +declare float @llvm.copysign.f32(float, float) +declare double @llvm.copysign.f64(double, double) + +; Test f16 copies. +define half @f0(half %a, half %b) { +; CHECK-LABEL: f0: +; CHECK: brasl %r14, __extendhfsf2@PLT +; CHECK: brasl %r14, __extendhfsf2@PLT +; CHECK: cpsdr %f0, %f9, %f0 +; CHECK: brasl %r14, __truncsfhf2@PLT +; CHECK: br %r14 + %res = call half @llvm.copysign.f16(half %a, half %b) ---------------- JonPsson1 wrote:
fixed now by avoiding the conversions. https://github.com/llvm/llvm-project/pull/109164 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits