Home | History | Annotate | Download | only in Interpreter
      1 ; RUN: lli -O0 -force-interpreter < %s
      2 
      3 ; libffi does not support fp128 so we dont 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)
      8 declare float  @llvm.floor.f32(float)
      9 declare double @llvm.floor.f64(double)
     10 declare float  @llvm.ceil.f32(float)
     11 declare double @llvm.ceil.f64(double)
     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)
     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)
     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