blob: cabacb572cea0cd50b28a8dd6332c1f203b0ca8f [file] [log] [blame]
Dan Gohman956b3492010-06-01 18:35:14 +00001; RUN: llc < %s -march=x86-64 | grep call | count 43
Dan Gohmanac9385a2007-10-12 00:01:22 +00002
3declare <4 x double> @llvm.sin.v4f64(<4 x double> %p)
4declare <4 x double> @llvm.cos.v4f64(<4 x double> %p)
5declare <4 x double> @llvm.pow.v4f64(<4 x double> %p, <4 x double> %q)
6declare <4 x double> @llvm.powi.v4f64(<4 x double> %p, i32)
7
8define <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}
13define <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}
18define <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}
23define <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}
Dan Gohman956b3492010-06-01 18:35:14 +000028
29
30declare <9 x double> @llvm.exp.v9f64(<9 x double> %a)
31declare <9 x double> @llvm.pow.v9f64(<9 x double> %a, <9 x double> %b)
32declare <9 x double> @llvm.powi.v9f64(<9 x double> %a, i32)
33
34define 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}
40define 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}
47define 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}