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.roundeven.f32(float) 17declare double @llvm.roundeven.f64(double) 18declare float @llvm.copysign.f32(float, float) 19declare double @llvm.copysign.f64(double, double) 20 21define i32 @main() { 22 %sin32 = call float @llvm.sin.f32(float 0.000000e+00) 23 %sin64 = call double @llvm.sin.f64(double 0.000000e+00) 24 %cos32 = call float @llvm.cos.f32(float 0.000000e+00) 25 %cos64 = call double @llvm.cos.f64(double 0.000000e+00) 26 %floor32 = call float @llvm.floor.f32(float 0.000000e+00) 27 %floor64 = call double @llvm.floor.f64(double 0.000000e+00) 28 %ceil32 = call float @llvm.ceil.f32(float 0.000000e+00) 29 %ceil64 = call double @llvm.ceil.f64(double 0.000000e+00) 30 %trunc32 = call float @llvm.trunc.f32(float 0.000000e+00) 31 %trunc64 = call double @llvm.trunc.f64(double 0.000000e+00) 32 %round32 = call float @llvm.round.f32(float 0.000000e+00) 33 %round64 = call double @llvm.round.f64(double 0.000000e+00) 34 %roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00) 35 %roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00) 36 %copysign32 = call float @llvm.copysign.f32(float 0.000000e+00, float 0.000000e+00) 37 %copysign64 = call double @llvm.copysign.f64(double 0.000000e+00, double 0.000000e+00) 38 ret i32 0 39} 40