blob: 73e24bba98af22c863e418c837e74fbac165894f [file]
; RUN: llc -mtriple=arm64ec-windows-msvc < %s | FileCheck -check-prefixes=ARM64EC %s
; Separate from ldexp.ll test because this errors on half cases
; ARM64EC-LABEL: ldexp_f16 =
; ARM64EC: fcvt d0, h0
; ARM64EC: bl "#ldexp"
; ARM64EC: fcvt h0, d0
define half @ldexp_f16(half %val, i32 %a) {
%call = call half @llvm.ldexp.f16(half %val, i32 %a)
ret half %call
}
; ARM64EC-LABEL: ldexp_f32 =
; ARM64EC: fcvt d0, s0
; ARM64EC: bl "#ldexp"
; ARM64EC: fcvt s0, d0
define float @ldexp_f32(float %val, i32 %a) {
%call = call float @llvm.ldexp.f32(float %val, i32 %a)
ret float %call
}
; ARM64EC-LABEL: ldexp_f64 =
; ARM64EC: b "#ldexp"
define double @ldexp_f64(double %val, i32 %a) {
%call = call double @llvm.ldexp.f64(double %val, i32 %a)
ret double %call
}