1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
; RUN: llc -mtriple thumbv7--windows-itanium < %s | FileCheck %s
; CHECK-LABEL: test_frexp_f16_i32:
; CHECK: bl __gnu_h2f_ieee
; CHECK: vcvt.f64.f32 d0, s0
; CHECK: bl frexp
; CHECK: vcvt.f32.f64 s0, d0
; CHECK: bl __gnu_f2h_ieee
define { half, i32 } @test_frexp_f16_i32(half %a) {
%result = call { half, i32 } @llvm.frexp.f16.i32(half %a)
ret { half, i32 } %result
}
; CHECK-LABEL: test_frexp_f32_i32:
; CHECK: vcvt.f64.f32
; CHECK: bl frexp
; CHECK: vcvt.f32.f64 s0, d0
define { float, i32 } @test_frexp_f32_i32(float %a) {
%result = call { float, i32 } @llvm.frexp.f32.i32(float %a)
ret { float, i32 } %result
}
; CHECK-LABEL: test_frexp_f64_i32:
; CHECK: bl frexp
define { double, i32 } @test_frexp_f64_i32(double %a) {
%result = call { double, i32 } @llvm.frexp.f64.i32(double %a)
ret { double, i32 } %result
}
|