29 lines · plain
1; RUN: llc -mtriple=arm64ec-windows-msvc < %s | FileCheck -check-prefix=ARM64EC %s2 3; Separate from llvm-frexp.ll test because this errors on half cases4 5; ARM64EC-LABEL: test_frexp_f16_i326; ARM64EC: fcvt d0, h07; ARM64EC: bl "#frexp"8; ARM64EC: fcvt h0, d09define { half, i32 } @test_frexp_f16_i32(half %a) {10 %result = call { half, i32 } @llvm.frexp.f16.i32(half %a)11 ret { half, i32 } %result12}13 14; ARM64EC-LABEL: test_frexp_f32_i3215; ARM64EC: fcvt d0, s016; ARM64EC: bl "#frexp"17; ARM64EC: fcvt s0, d018define { float, i32 } @test_frexp_f32_i32(float %a) {19 %result = call { float, i32 } @llvm.frexp.f32.i32(float %a)20 ret { float, i32 } %result21}22 23; ARM64EC-LABEL: test_frexp_f64_i3224; ARM64EC: bl "#frexp"25define { double, i32 } @test_frexp_f64_i32(double %a) {26 %result = call { double, i32 } @llvm.frexp.f64.i32(double %a)27 ret { double, i32 } %result28}29