1; RUN: lli -O0 -force-interpreter < %s 2 3; libffi does not support fp128 so we don’t test it 4declare float @llvm.sin.f32(float) 5declare double @llvm.sin.f64(double) 6declare float @llvm.cos.f32(float) 7declare double @llvm.cos.f64(double) 8declare float @llvm.floor.f32(float) 9declare double @llvm.floor.f64(double) 10declare float @llvm.ceil.f32(float) 11declare double @llvm.ceil.f64(double) 12declare float @llvm.trunc.f32(float) 13declare double @llvm.trunc.f64(double) 14declare float @llvm.round.f32(float) 15declare double @llvm.round.f64(double) 16declare float @llvm.copysign.f32(float, float) 17declare double @llvm.copysign.f64(double, double) 18 19define i32 @main() { 20 %sin32 = call float @llvm.sin.f32(float 0.000000e+00) 21 %sin64 = call double @llvm.sin.f64(double 0.000000e+00) 22 %cos32 = call float @llvm.cos.f32(float 0.000000e+00) 23 %cos64 = call double @llvm.cos.f64(double 0.000000e+00) 24 %floor32 = call float @llvm.floor.f32(float 0.000000e+00) 25 %floor64 = call double @llvm.floor.f64(double 0.000000e+00) 26 %ceil32 = call float @llvm.ceil.f32(float 0.000000e+00) 27 %ceil64 = call double @llvm.ceil.f64(double 0.000000e+00) 28 %trunc32 = call float @llvm.trunc.f32(float 0.000000e+00) 29 %trunc64 = call double @llvm.trunc.f64(double 0.000000e+00) 30 %round32 = call float @llvm.round.f32(float 0.000000e+00) 31 %round64 = call double @llvm.round.f64(double 0.000000e+00) 32 %copysign32 = call float @llvm.copysign.f32(float 0.000000e+00, float 0.000000e+00) 33 %copysign64 = call double @llvm.copysign.f64(double 0.000000e+00, double 0.000000e+00) 34 ret i32 0 35} 36