Josh Klontz | ac0d28d | 2014-08-08 15:00:12 +0000 | [diff] [blame] | 1 | ; RUN: lli -O0 -force-interpreter < %s |
| 2 | |
| 3 | ; libffi does not support fp128 so we don’t test it |
| 4 | declare float @llvm.sin.f32(float) |
| 5 | declare double @llvm.sin.f64(double) |
| 6 | declare float @llvm.cos.f32(float) |
| 7 | declare double @llvm.cos.f64(double) |
Josh Klontz | e1900dc | 2014-08-30 18:33:35 +0000 | [diff] [blame] | 8 | declare float @llvm.floor.f32(float) |
| 9 | declare double @llvm.floor.f64(double) |
Josh Klontz | ac0d28d | 2014-08-08 15:00:12 +0000 | [diff] [blame] | 10 | declare float @llvm.ceil.f32(float) |
| 11 | declare double @llvm.ceil.f64(double) |
Josh Klontz | e1900dc | 2014-08-30 18:33:35 +0000 | [diff] [blame] | 12 | declare float @llvm.trunc.f32(float) |
| 13 | declare double @llvm.trunc.f64(double) |
| 14 | declare float @llvm.round.f32(float) |
| 15 | declare double @llvm.round.f64(double) |
| 16 | declare float @llvm.copysign.f32(float, float) |
| 17 | declare double @llvm.copysign.f64(double, double) |
Josh Klontz | ac0d28d | 2014-08-08 15:00:12 +0000 | [diff] [blame] | 18 | |
| 19 | define 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) |
Josh Klontz | e1900dc | 2014-08-30 18:33:35 +0000 | [diff] [blame] | 24 | %floor32 = call float @llvm.floor.f32(float 0.000000e+00) |
| 25 | %floor64 = call double @llvm.floor.f64(double 0.000000e+00) |
Josh Klontz | ac0d28d | 2014-08-08 15:00:12 +0000 | [diff] [blame] | 26 | %ceil32 = call float @llvm.ceil.f32(float 0.000000e+00) |
| 27 | %ceil64 = call double @llvm.ceil.f64(double 0.000000e+00) |
Josh Klontz | e1900dc | 2014-08-30 18:33:35 +0000 | [diff] [blame] | 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) |
Josh Klontz | ac0d28d | 2014-08-08 15:00:12 +0000 | [diff] [blame] | 34 | ret i32 0 |
| 35 | } |