Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86-64 | grep call | count 43
      2 
      3 declare <4 x double> @llvm.sin.v4f64(<4 x double> %p)
      4 declare <4 x double> @llvm.cos.v4f64(<4 x double> %p)
      5 declare <4 x double> @llvm.pow.v4f64(<4 x double> %p, <4 x double> %q)
      6 declare <4 x double> @llvm.powi.v4f64(<4 x double> %p, i32)
      7 
      8 define <4 x double> @foo(<4 x double> %p)
      9 {
     10   %t = call <4 x double> @llvm.sin.v4f64(<4 x double> %p)
     11   ret <4 x double> %t
     12 }
     13 define <4 x double> @goo(<4 x double> %p)
     14 {
     15   %t = call <4 x double> @llvm.cos.v4f64(<4 x double> %p)
     16   ret <4 x double> %t
     17 }
     18 define <4 x double> @moo(<4 x double> %p, <4 x double> %q)
     19 {
     20   %t = call <4 x double> @llvm.pow.v4f64(<4 x double> %p, <4 x double> %q)
     21   ret <4 x double> %t
     22 }
     23 define <4 x double> @zoo(<4 x double> %p, i32 %q)
     24 {
     25   %t = call <4 x double> @llvm.powi.v4f64(<4 x double> %p, i32 %q)
     26   ret <4 x double> %t
     27 }
     28 
     29 
     30 declare <9 x double> @llvm.exp.v9f64(<9 x double> %a)
     31 declare <9 x double> @llvm.pow.v9f64(<9 x double> %a, <9 x double> %b)
     32 declare <9 x double> @llvm.powi.v9f64(<9 x double> %a, i32)
     33 
     34 define void @a(<9 x double>* %p) nounwind {
     35   %a = load <9 x double>* %p
     36   %r = call <9 x double> @llvm.exp.v9f64(<9 x double> %a)
     37   store <9 x double> %r, <9 x double>* %p
     38   ret void
     39 }
     40 define void @b(<9 x double>* %p, <9 x double>* %q) nounwind {
     41   %a = load <9 x double>* %p
     42   %b = load <9 x double>* %q
     43   %r = call <9 x double> @llvm.pow.v9f64(<9 x double> %a, <9 x double> %b)
     44   store <9 x double> %r, <9 x double>* %p
     45   ret void
     46 }
     47 define void @c(<9 x double>* %p, i32 %n) nounwind {
     48   %a = load <9 x double>* %p
     49   %r = call <9 x double> @llvm.powi.v9f64(<9 x double> %a, i32 %n)
     50   store <9 x double> %r, <9 x double>* %p
     51   ret void
     52 }
     53