Home | History | Annotate | Download | only in X86
      1 ; RUN: llc -mtriple i686-windows-itanium -filetype asm -o - %s | FileCheck %s
      2 
      3 declare float @llvm.ceil.f32(float)
      4 declare float @llvm.cos.f32(float)
      5 declare float @llvm.exp.f32(float)
      6 declare float @llvm.floor.f32(float)
      7 declare float @llvm.log.f32(float)
      8 declare float @llvm.log10.f32(float)
      9 declare float @llvm.pow.f32(float, float)
     10 declare float @llvm.sin.f32(float)
     11 
     12 define float @f(float %f) {
     13   %r = call float @llvm.ceil.f32(float %f)
     14   ret float %r
     15 }
     16 
     17 ; CHECK-LABEL: _f:
     18 ; CHECK-NOT: calll _ceilf
     19 ; CHECK: calll _ceil{{$}}
     20 
     21 define float @g(float %f) {
     22   %r = call float @llvm.cos.f32(float %f)
     23   ret float %r
     24 }
     25 
     26 ; CHECK-LABEL: _g:
     27 ; CHECK-NOT: calll _cosf
     28 ; CHECK: calll _cos{{$}}
     29 
     30 define float @h(float %f) {
     31   %r = call float @llvm.exp.f32(float %f)
     32   ret float %r
     33 }
     34 
     35 ; CHECK-LABEL: _h:
     36 ; CHECK-NOT: calll _expf
     37 ; CHECK: calll _exp{{$}}
     38 
     39 define float @i(float %f) {
     40   %r = call float @llvm.floor.f32(float %f)
     41   ret float %r
     42 }
     43 
     44 ; CHECK-LABEL: _i:
     45 ; CHECK-NOT: calll _floorf
     46 ; CHECK: calll _floor{{$}}
     47 
     48 define float @j(float %f, float %g) {
     49   %r =  frem float %f, %g
     50   ret float %r
     51 }
     52 
     53 ; CHECK-LABEL: _j:
     54 ; CHECK-NOT: calll _fmodf
     55 ; CHECK: calll _fmod{{$}}
     56 
     57 define float @k(float %f) {
     58   %r = call float @llvm.log.f32(float %f)
     59   ret float %r
     60 }
     61 
     62 ; CHECK-LABEL: _k:
     63 ; CHECK-NOT: calll _logf
     64 ; CHECK: calll _log{{$}}
     65 
     66 define float @l(float %f) {
     67   %r = call float @llvm.log10.f32(float %f)
     68   ret float %r
     69 }
     70 
     71 ; CHECK-LABEL: _l:
     72 ; CHECK-NOT: calll _log10f
     73 ; CHECK: calll _log10{{$}}
     74 
     75 define float @m(float %f, float %g) {
     76   %r = call float @llvm.pow.f32(float %f, float %g)
     77   ret float %r
     78 }
     79 
     80 ; CHECK-LABEL: _m:
     81 ; CHECK-NOT: calll _powf
     82 ; CHECK: calll _pow{{$}}
     83 
     84 define float @n(float %f) {
     85   %r = call float @llvm.sin.f32(float %f)
     86   ret float %r
     87 }
     88 
     89 ; CHECK-LABEL: _n:
     90 ; CHECK-NOT: calll _sinf
     91 ; CHECK: calll _sin{{$}}
     92 
     93