blob: 062f77c279e455d687228e68823978c5190d7417 [file] [log] [blame]
Evan Cheng15e8f5a2007-12-15 03:00:47 +00001; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2
2
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}