Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -limit-float-precision=6 -march=x86 | \
      2 ; RUN:    not grep exp | not grep log | not grep pow
      3 ; RUN: llc < %s -limit-float-precision=12 -march=x86 | \
      4 ; RUN:    not grep exp | not grep log | not grep pow
      5 ; RUN: llc < %s -limit-float-precision=18 -march=x86 | \
      6 ; RUN:    not grep exp | not grep log | not grep pow
      7 
      8 define float @f1(float %x) nounwind noinline {
      9 entry:
     10 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
     11 	%0 = call float @llvm.exp.f32(float %x)		; <float> [#uses=1]
     12 	ret float %0
     13 }
     14 
     15 declare float @llvm.exp.f32(float) nounwind readonly
     16 
     17 define float @f2(float %x) nounwind noinline {
     18 entry:
     19 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
     20 	%0 = call float @llvm.exp2.f32(float %x)		; <float> [#uses=1]
     21 	ret float %0
     22 }
     23 
     24 declare float @llvm.exp2.f32(float) nounwind readonly
     25 
     26 define float @f3(float %x) nounwind noinline {
     27 entry:
     28 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
     29 	%0 = call float @llvm.pow.f32(float 1.000000e+01, float %x)		; <float> [#uses=1]
     30 	ret float %0
     31 }
     32 
     33 declare float @llvm.pow.f32(float, float) nounwind readonly
     34 
     35 define float @f4(float %x) nounwind noinline {
     36 entry:
     37 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
     38 	%0 = call float @llvm.log.f32(float %x)		; <float> [#uses=1]
     39 	ret float %0
     40 }
     41 
     42 declare float @llvm.log.f32(float) nounwind readonly
     43 
     44 define float @f5(float %x) nounwind noinline {
     45 entry:
     46 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
     47 	%0 = call float @llvm.log2.f32(float %x)		; <float> [#uses=1]
     48 	ret float %0
     49 }
     50 
     51 declare float @llvm.log2.f32(float) nounwind readonly
     52 
     53 define float @f6(float %x) nounwind noinline {
     54 entry:
     55 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
     56 	%0 = call float @llvm.log10.f32(float %x)		; <float> [#uses=1]
     57 	ret float %0
     58 }
     59 
     60 declare float @llvm.log10.f32(float) nounwind readonly
     61