Xamarin Public Jenkins (auto-signing) e19d552987 Imported Upstream version 5.18.0.161
Former-commit-id: 4db48158d3a35497b8f118ab21b5f08ac3d86d98
2018-10-19 08:34:24 +00:00

57 lines
1.4 KiB
LLVM

; RUN: llc < %s
; RUN: llc -O0 < %s
;; SQRT
declare float @llvm.sqrt.f32(float)
declare double @llvm.sqrt.f64(double)
define double @test_sqrt(float %F) {
%G = call float @llvm.sqrt.f32( float %F ) ; <float> [#uses=1]
%H = fpext float %G to double ; <double> [#uses=1]
%I = call double @llvm.sqrt.f64( double %H ) ; <double> [#uses=1]
ret double %I
}
; SIN
declare float @sinf(float) readonly
declare double @sin(double) readonly
define double @test_sin(float %F) {
%G = call float @sinf( float %F ) ; <float> [#uses=1]
%H = fpext float %G to double ; <double> [#uses=1]
%I = call double @sin( double %H ) ; <double> [#uses=1]
ret double %I
}
; COS
declare float @cosf(float) readonly
declare double @cos(double) readonly
define double @test_cos(float %F) {
%G = call float @cosf( float %F ) ; <float> [#uses=1]
%H = fpext float %G to double ; <double> [#uses=1]
%I = call double @cos( double %H ) ; <double> [#uses=1]
ret double %I
}
declare i8* @llvm.invariant.group.barrier(i8*)
define i8* @barrier(i8* %p) {
%q = call i8* @llvm.invariant.group.barrier(i8* %p)
ret i8* %q
}
; sideeffect
declare void @llvm.sideeffect()
define void @test_sideeffect() {
call void @llvm.sideeffect()
ret void
}