blob: 5a9b8fd34579ab364e0ef31eccfe175eef916729 [file] [log] [blame]
Dan Gohman0a063102009-09-08 23:54:48 +00001; RUN: llc < %s -march=x86 -mattr=+sse2
Evan Cheng15e8f5a2007-12-15 03:00:47 +00002
3define <2 x i64> @t00(<2 x i64> %a, <2 x i64> %b) nounwind {
4 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 0, i32 0 >
5 ret <2 x i64> %tmp
6}
7
8define <2 x i64> @t01(<2 x i64> %a, <2 x i64> %b) nounwind {
9 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 0, i32 1 >
10 ret <2 x i64> %tmp
11}
12
13define <2 x i64> @t02(<2 x i64> %a, <2 x i64> %b) nounwind {
14 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 0, i32 2 >
15 ret <2 x i64> %tmp
16}
17
18define <2 x i64> @t03(<2 x i64> %a, <2 x i64> %b) nounwind {
19 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 0, i32 3 >
20 ret <2 x i64> %tmp
21}
22
23define <2 x i64> @t10(<2 x i64> %a, <2 x i64> %b) nounwind {
24 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 1, i32 0 >
25 ret <2 x i64> %tmp
26}
27
28define <2 x i64> @t11(<2 x i64> %a, <2 x i64> %b) nounwind {
29 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 1, i32 1 >
30 ret <2 x i64> %tmp
31}
32
33define <2 x i64> @t12(<2 x i64> %a, <2 x i64> %b) nounwind {
34 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 1, i32 2 >
35 ret <2 x i64> %tmp
36}
37
38define <2 x i64> @t13(<2 x i64> %a, <2 x i64> %b) nounwind {
39 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 1, i32 3 >
40 ret <2 x i64> %tmp
41}
42
43define <2 x i64> @t20(<2 x i64> %a, <2 x i64> %b) nounwind {
44 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 2, i32 0 >
45 ret <2 x i64> %tmp
46}
47
48define <2 x i64> @t21(<2 x i64> %a, <2 x i64> %b) nounwind {
49 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 2, i32 1 >
50 ret <2 x i64> %tmp
51}
52
53define <2 x i64> @t22(<2 x i64> %a, <2 x i64> %b) nounwind {
54 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 2, i32 2 >
55 ret <2 x i64> %tmp
56}
57
58define <2 x i64> @t23(<2 x i64> %a, <2 x i64> %b) nounwind {
59 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 2, i32 3 >
60 ret <2 x i64> %tmp
61}
62
63define <2 x i64> @t30(<2 x i64> %a, <2 x i64> %b) nounwind {
64 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 3, i32 0 >
65 ret <2 x i64> %tmp
66}
67
68define <2 x i64> @t31(<2 x i64> %a, <2 x i64> %b) nounwind {
69 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 3, i32 1 >
70 ret <2 x i64> %tmp
71}
72
73define <2 x i64> @t32(<2 x i64> %a, <2 x i64> %b) nounwind {
74 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 3, i32 2 >
75 ret <2 x i64> %tmp
76}
77
78define <2 x i64> @t33(<2 x i64> %a, <2 x i64> %b) nounwind {
79 %tmp = shufflevector <2 x i64> %a, <2 x i64> %b, <2 x i32> < i32 3, i32 3 >
80 ret <2 x i64> %tmp
81}