; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s

define half @use_asinf16(half %a) nounwind {
; CHECK-LABEL: use_asinf16:
; CHECK:       # %bb.0:
; CHECK-NEXT:    pushq %rax
; CHECK-NEXT:    callq __extendhfsf2@PLT
; CHECK-NEXT:    callq asinf@PLT
; CHECK-NEXT:    callq __truncsfhf2@PLT
; CHECK-NEXT:    popq %rax
; CHECK-NEXT:    retq
  %x = call half @llvm.asin.f16(half %a)
  ret half %x
}

define float @use_asinf32(float %a) nounwind {
; CHECK-LABEL: use_asinf32:
; CHECK:       # %bb.0:
; CHECK-NEXT:    jmp asinf@PLT # TAILCALL
  %x = call float @llvm.asin.f32(float %a)
  ret float %x
}

define double @use_asinf64(double %a) nounwind {
; CHECK-LABEL: use_asinf64:
; CHECK:       # %bb.0:
; CHECK-NEXT:    jmp asin@PLT # TAILCALL
  %x = call double @llvm.asin.f64(double %a)
  ret double %x
}

define x86_fp80 @use_asinf80(x86_fp80 %a) nounwind {
; CHECK-LABEL: use_asinf80:
; CHECK:       # %bb.0:
; CHECK-NEXT:    subq $24, %rsp
; CHECK-NEXT:    fldt 32(%rsp)
; CHECK-NEXT:    fstpt (%rsp)
; CHECK-NEXT:    callq asinl@PLT
; CHECK-NEXT:    addq  $24, %rsp
; CHECK-NEXT:    retq
  %x = call x86_fp80 @llvm.asin.f80(x86_fp80 %a)
  ret x86_fp80 %x
}

define fp128 @use_asinfp128(fp128 %a) nounwind {
; CHECK-LABEL: use_asinfp128:
; CHECK:       # %bb.0:
; CHECK-NEXT:    jmp  asinf128@PLT # TAILCALL
  %x = call fp128 @llvm.asin.f128(fp128 %a)
  ret fp128 %x
}

define ppc_fp128 @use_asinppc_fp128(ppc_fp128 %a) nounwind {
; CHECK-LABEL: use_asinppc_fp128:
; CHECK:       # %bb.0:
; CHECK-NEXT:    pushq %rax
; CHECK-NEXT:    callq asinl@PLT
; CHECK-NEXT:    popq %rax
; CHECK-NEXT:    retq
  %x = call ppc_fp128 @llvm.asin.ppcf128(ppc_fp128 %a)
  ret ppc_fp128 %x
}

declare half @llvm.asin.f16(half)
declare float @llvm.asin.f32(float)
declare double @llvm.asin.f64(double)
declare x86_fp80 @llvm.asin.f80(x86_fp80)
declare fp128 @llvm.asin.f128(fp128)
declare ppc_fp128 @llvm.asin.ppcf128(ppc_fp128)
