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