1; RUN: llc -march=hexagon < %s | FileCheck %s
2
3; CHECK-LABEL: test_00:
4; CHECK-NOT: v0 =
5; CHECK: jumpr r31
6define <64 x i8> @test_00(<64 x i8> %v0, <64 x i8> %v1) #0 {
7  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
8  ret <64 x i8> %t0
9}
10
11; CHECK-LABEL: test_01:
12; CHECK: v0 = valign(v0,v0,#1)
13; CHECK: jumpr r31
14define <64 x i8> @test_01(<64 x i8> %v0, <64 x i8> %v1) #0 {
15  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
16  ret <64 x i8> %t0
17}
18
19; CHECK-LABEL: test_02:
20; CHECK: v0 = valign(v0,v0,#2)
21; CHECK: jumpr r31
22define <64 x i8> @test_02(<64 x i8> %v0, <64 x i8> %v1) #0 {
23  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
24  ret <64 x i8> %t0
25}
26
27; CHECK-LABEL: test_03:
28; CHECK: v0 = valign(v0,v0,#3)
29; CHECK: jumpr r31
30define <64 x i8> @test_03(<64 x i8> %v0, <64 x i8> %v1) #0 {
31  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
32  ret <64 x i8> %t0
33}
34
35; CHECK-LABEL: test_04:
36; CHECK: v0 = valign(v0,v0,#4)
37; CHECK: jumpr r31
38define <64 x i8> @test_04(<64 x i8> %v0, <64 x i8> %v1) #0 {
39  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
40  ret <64 x i8> %t0
41}
42
43; CHECK-LABEL: test_05:
44; CHECK: v0 = valign(v0,v0,#5)
45; CHECK: jumpr r31
46define <64 x i8> @test_05(<64 x i8> %v0, <64 x i8> %v1) #0 {
47  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
48  ret <64 x i8> %t0
49}
50
51; CHECK-LABEL: test_06:
52; CHECK: v0 = valign(v0,v0,#6)
53; CHECK: jumpr r31
54define <64 x i8> @test_06(<64 x i8> %v0, <64 x i8> %v1) #0 {
55  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
56  ret <64 x i8> %t0
57}
58
59; CHECK-LABEL: test_07:
60; CHECK: v0 = valign(v0,v0,#7)
61; CHECK: jumpr r31
62define <64 x i8> @test_07(<64 x i8> %v0, <64 x i8> %v1) #0 {
63  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
64  ret <64 x i8> %t0
65}
66
67; CHECK-LABEL: test_08:
68; CHECK: r[[REG08:[0-9]+]] = #8
69; CHECK: v0 = valign(v0,v0,r[[REG08]])
70; CHECK: jumpr r31
71define <64 x i8> @test_08(<64 x i8> %v0, <64 x i8> %v1) #0 {
72  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
73  ret <64 x i8> %t0
74}
75
76; CHECK-LABEL: test_09:
77; CHECK: r[[REG09:[0-9]+]] = #9
78; CHECK: v0 = valign(v0,v0,r[[REG09]])
79; CHECK: jumpr r31
80define <64 x i8> @test_09(<64 x i8> %v0, <64 x i8> %v1) #0 {
81  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
82  ret <64 x i8> %t0
83}
84
85; CHECK-LABEL: test_10:
86; CHECK: r[[REG10:[0-9]+]] = #10
87; CHECK: v0 = valign(v0,v0,r[[REG10]])
88; CHECK: jumpr r31
89define <64 x i8> @test_10(<64 x i8> %v0, <64 x i8> %v1) #0 {
90  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
91  ret <64 x i8> %t0
92}
93
94; CHECK-LABEL: test_11:
95; CHECK: r[[REG11:[0-9]+]] = #11
96; CHECK: v0 = valign(v0,v0,r[[REG11]])
97; CHECK: jumpr r31
98define <64 x i8> @test_11(<64 x i8> %v0, <64 x i8> %v1) #0 {
99  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
100  ret <64 x i8> %t0
101}
102
103; CHECK-LABEL: test_12:
104; CHECK: r[[REG12:[0-9]+]] = #12
105; CHECK: v0 = valign(v0,v0,r[[REG12]])
106; CHECK: jumpr r31
107define <64 x i8> @test_12(<64 x i8> %v0, <64 x i8> %v1) #0 {
108  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
109  ret <64 x i8> %t0
110}
111
112; CHECK-LABEL: test_13:
113; CHECK: r[[REG13:[0-9]+]] = #13
114; CHECK: v0 = valign(v0,v0,r[[REG13]])
115; CHECK: jumpr r31
116define <64 x i8> @test_13(<64 x i8> %v0, <64 x i8> %v1) #0 {
117  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
118  ret <64 x i8> %t0
119}
120
121; CHECK-LABEL: test_14:
122; CHECK: r[[REG14:[0-9]+]] = #14
123; CHECK: v0 = valign(v0,v0,r[[REG14]])
124; CHECK: jumpr r31
125define <64 x i8> @test_14(<64 x i8> %v0, <64 x i8> %v1) #0 {
126  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
127  ret <64 x i8> %t0
128}
129
130; CHECK-LABEL: test_15:
131; CHECK: r[[REG15:[0-9]+]] = #15
132; CHECK: v0 = valign(v0,v0,r[[REG15]])
133; CHECK: jumpr r31
134define <64 x i8> @test_15(<64 x i8> %v0, <64 x i8> %v1) #0 {
135  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
136  ret <64 x i8> %t0
137}
138
139; CHECK-LABEL: test_16:
140; CHECK: r[[REG16:[0-9]+]] = #16
141; CHECK: v0 = valign(v0,v0,r[[REG16]])
142; CHECK: jumpr r31
143define <64 x i8> @test_16(<64 x i8> %v0, <64 x i8> %v1) #0 {
144  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
145  ret <64 x i8> %t0
146}
147
148; CHECK-LABEL: test_17:
149; CHECK: r[[REG17:[0-9]+]] = #17
150; CHECK: v0 = valign(v0,v0,r[[REG17]])
151; CHECK: jumpr r31
152define <64 x i8> @test_17(<64 x i8> %v0, <64 x i8> %v1) #0 {
153  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
154  ret <64 x i8> %t0
155}
156
157; CHECK-LABEL: test_18:
158; CHECK: r[[REG18:[0-9]+]] = #18
159; CHECK: v0 = valign(v0,v0,r[[REG18]])
160; CHECK: jumpr r31
161define <64 x i8> @test_18(<64 x i8> %v0, <64 x i8> %v1) #0 {
162  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
163  ret <64 x i8> %t0
164}
165
166; CHECK-LABEL: test_19:
167; CHECK: r[[REG19:[0-9]+]] = #19
168; CHECK: v0 = valign(v0,v0,r[[REG19]])
169; CHECK: jumpr r31
170define <64 x i8> @test_19(<64 x i8> %v0, <64 x i8> %v1) #0 {
171  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
172  ret <64 x i8> %t0
173}
174
175; CHECK-LABEL: test_20:
176; CHECK: r[[REG20:[0-9]+]] = #20
177; CHECK: v0 = valign(v0,v0,r[[REG20]])
178; CHECK: jumpr r31
179define <64 x i8> @test_20(<64 x i8> %v0, <64 x i8> %v1) #0 {
180  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
181  ret <64 x i8> %t0
182}
183
184; CHECK-LABEL: test_21:
185; CHECK: r[[REG21:[0-9]+]] = #21
186; CHECK: v0 = valign(v0,v0,r[[REG21]])
187; CHECK: jumpr r31
188define <64 x i8> @test_21(<64 x i8> %v0, <64 x i8> %v1) #0 {
189  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
190  ret <64 x i8> %t0
191}
192
193; CHECK-LABEL: test_22:
194; CHECK: r[[REG22:[0-9]+]] = #22
195; CHECK: v0 = valign(v0,v0,r[[REG22]])
196; CHECK: jumpr r31
197define <64 x i8> @test_22(<64 x i8> %v0, <64 x i8> %v1) #0 {
198  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
199  ret <64 x i8> %t0
200}
201
202; CHECK-LABEL: test_23:
203; CHECK: r[[REG23:[0-9]+]] = #23
204; CHECK: v0 = valign(v0,v0,r[[REG23]])
205; CHECK: jumpr r31
206define <64 x i8> @test_23(<64 x i8> %v0, <64 x i8> %v1) #0 {
207  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
208  ret <64 x i8> %t0
209}
210
211; CHECK-LABEL: test_24:
212; CHECK: r[[REG24:[0-9]+]] = #24
213; CHECK: v0 = valign(v0,v0,r[[REG24]])
214; CHECK: jumpr r31
215define <64 x i8> @test_24(<64 x i8> %v0, <64 x i8> %v1) #0 {
216  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
217  ret <64 x i8> %t0
218}
219
220; CHECK-LABEL: test_25:
221; CHECK: r[[REG25:[0-9]+]] = #25
222; CHECK: v0 = valign(v0,v0,r[[REG25]])
223; CHECK: jumpr r31
224define <64 x i8> @test_25(<64 x i8> %v0, <64 x i8> %v1) #0 {
225  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
226  ret <64 x i8> %t0
227}
228
229; CHECK-LABEL: test_26:
230; CHECK: r[[REG26:[0-9]+]] = #26
231; CHECK: v0 = valign(v0,v0,r[[REG26]])
232; CHECK: jumpr r31
233define <64 x i8> @test_26(<64 x i8> %v0, <64 x i8> %v1) #0 {
234  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
235  ret <64 x i8> %t0
236}
237
238; CHECK-LABEL: test_27:
239; CHECK: r[[REG27:[0-9]+]] = #27
240; CHECK: v0 = valign(v0,v0,r[[REG27]])
241; CHECK: jumpr r31
242define <64 x i8> @test_27(<64 x i8> %v0, <64 x i8> %v1) #0 {
243  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
244  ret <64 x i8> %t0
245}
246
247; CHECK-LABEL: test_28:
248; CHECK: r[[REG28:[0-9]+]] = #28
249; CHECK: v0 = valign(v0,v0,r[[REG28]])
250; CHECK: jumpr r31
251define <64 x i8> @test_28(<64 x i8> %v0, <64 x i8> %v1) #0 {
252  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
253  ret <64 x i8> %t0
254}
255
256; CHECK-LABEL: test_29:
257; CHECK: r[[REG29:[0-9]+]] = #29
258; CHECK: v0 = valign(v0,v0,r[[REG29]])
259; CHECK: jumpr r31
260define <64 x i8> @test_29(<64 x i8> %v0, <64 x i8> %v1) #0 {
261  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
262  ret <64 x i8> %t0
263}
264
265; CHECK-LABEL: test_30:
266; CHECK: r[[REG30:[0-9]+]] = #30
267; CHECK: v0 = valign(v0,v0,r[[REG30]])
268; CHECK: jumpr r31
269define <64 x i8> @test_30(<64 x i8> %v0, <64 x i8> %v1) #0 {
270  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
271  ret <64 x i8> %t0
272}
273
274; CHECK-LABEL: test_31:
275; CHECK: r[[REG31:[0-9]+]] = #31
276; CHECK: v0 = valign(v0,v0,r[[REG31]])
277; CHECK: jumpr r31
278define <64 x i8> @test_31(<64 x i8> %v0, <64 x i8> %v1) #0 {
279  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
280  ret <64 x i8> %t0
281}
282
283; CHECK-LABEL: test_32:
284; CHECK: r[[REG32:[0-9]+]] = #32
285; CHECK: v0 = valign(v1,v0,r[[REG32]])
286; CHECK: jumpr r31
287define <64 x i8> @test_32(<64 x i8> %v0, <64 x i8> %v1) #0 {
288  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
289  ret <64 x i8> %t0
290}
291
292; CHECK-LABEL: test_33:
293; CHECK: r[[REG33:[0-9]+]] = #33
294; CHECK: v0 = valign(v1,v0,r[[REG33]])
295; CHECK: jumpr r31
296define <64 x i8> @test_33(<64 x i8> %v0, <64 x i8> %v1) #0 {
297  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
298  ret <64 x i8> %t0
299}
300
301; CHECK-LABEL: test_34:
302; CHECK: r[[REG34:[0-9]+]] = #34
303; CHECK: v0 = valign(v1,v0,r[[REG34]])
304; CHECK: jumpr r31
305define <64 x i8> @test_34(<64 x i8> %v0, <64 x i8> %v1) #0 {
306  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
307  ret <64 x i8> %t0
308}
309
310; CHECK-LABEL: test_35:
311; CHECK: r[[REG35:[0-9]+]] = #35
312; CHECK: v0 = valign(v1,v0,r[[REG35]])
313; CHECK: jumpr r31
314define <64 x i8> @test_35(<64 x i8> %v0, <64 x i8> %v1) #0 {
315  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
316  ret <64 x i8> %t0
317}
318
319; CHECK-LABEL: test_36:
320; CHECK: r[[REG36:[0-9]+]] = #36
321; CHECK: v0 = valign(v1,v0,r[[REG36]])
322; CHECK: jumpr r31
323define <64 x i8> @test_36(<64 x i8> %v0, <64 x i8> %v1) #0 {
324  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
325  ret <64 x i8> %t0
326}
327
328; CHECK-LABEL: test_37:
329; CHECK: r[[REG37:[0-9]+]] = #37
330; CHECK: v0 = valign(v1,v0,r[[REG37]])
331; CHECK: jumpr r31
332define <64 x i8> @test_37(<64 x i8> %v0, <64 x i8> %v1) #0 {
333  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
334  ret <64 x i8> %t0
335}
336
337; CHECK-LABEL: test_38:
338; CHECK: r[[REG38:[0-9]+]] = #38
339; CHECK: v0 = valign(v1,v0,r[[REG38]])
340; CHECK: jumpr r31
341define <64 x i8> @test_38(<64 x i8> %v0, <64 x i8> %v1) #0 {
342  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
343  ret <64 x i8> %t0
344}
345
346; CHECK-LABEL: test_39:
347; CHECK: r[[REG39:[0-9]+]] = #39
348; CHECK: v0 = valign(v1,v0,r[[REG39]])
349; CHECK: jumpr r31
350define <64 x i8> @test_39(<64 x i8> %v0, <64 x i8> %v1) #0 {
351  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
352  ret <64 x i8> %t0
353}
354
355; CHECK-LABEL: test_40:
356; CHECK: r[[REG40:[0-9]+]] = #40
357; CHECK: v0 = valign(v1,v0,r[[REG40]])
358; CHECK: jumpr r31
359define <64 x i8> @test_40(<64 x i8> %v0, <64 x i8> %v1) #0 {
360  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
361  ret <64 x i8> %t0
362}
363
364; CHECK-LABEL: test_41:
365; CHECK: r[[REG41:[0-9]+]] = #41
366; CHECK: v0 = valign(v1,v0,r[[REG41]])
367; CHECK: jumpr r31
368define <64 x i8> @test_41(<64 x i8> %v0, <64 x i8> %v1) #0 {
369  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
370  ret <64 x i8> %t0
371}
372
373; CHECK-LABEL: test_42:
374; CHECK: r[[REG42:[0-9]+]] = #42
375; CHECK: v0 = valign(v1,v0,r[[REG42]])
376; CHECK: jumpr r31
377define <64 x i8> @test_42(<64 x i8> %v0, <64 x i8> %v1) #0 {
378  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
379  ret <64 x i8> %t0
380}
381
382; CHECK-LABEL: test_43:
383; CHECK: r[[REG43:[0-9]+]] = #43
384; CHECK: v0 = valign(v1,v0,r[[REG43]])
385; CHECK: jumpr r31
386define <64 x i8> @test_43(<64 x i8> %v0, <64 x i8> %v1) #0 {
387  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
388  ret <64 x i8> %t0
389}
390
391; CHECK-LABEL: test_44:
392; CHECK: r[[REG44:[0-9]+]] = #44
393; CHECK: v0 = valign(v1,v0,r[[REG44]])
394; CHECK: jumpr r31
395define <64 x i8> @test_44(<64 x i8> %v0, <64 x i8> %v1) #0 {
396  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
397  ret <64 x i8> %t0
398}
399
400; CHECK-LABEL: test_45:
401; CHECK: r[[REG45:[0-9]+]] = #45
402; CHECK: v0 = valign(v1,v0,r[[REG45]])
403; CHECK: jumpr r31
404define <64 x i8> @test_45(<64 x i8> %v0, <64 x i8> %v1) #0 {
405  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
406  ret <64 x i8> %t0
407}
408
409; CHECK-LABEL: test_46:
410; CHECK: r[[REG46:[0-9]+]] = #46
411; CHECK: v0 = valign(v1,v0,r[[REG46]])
412; CHECK: jumpr r31
413define <64 x i8> @test_46(<64 x i8> %v0, <64 x i8> %v1) #0 {
414  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
415  ret <64 x i8> %t0
416}
417
418; CHECK-LABEL: test_47:
419; CHECK: r[[REG47:[0-9]+]] = #47
420; CHECK: v0 = valign(v1,v0,r[[REG47]])
421; CHECK: jumpr r31
422define <64 x i8> @test_47(<64 x i8> %v0, <64 x i8> %v1) #0 {
423  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
424  ret <64 x i8> %t0
425}
426
427; CHECK-LABEL: test_48:
428; CHECK: r[[REG48:[0-9]+]] = #48
429; CHECK: v0 = valign(v1,v0,r[[REG48]])
430; CHECK: jumpr r31
431define <64 x i8> @test_48(<64 x i8> %v0, <64 x i8> %v1) #0 {
432  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
433  ret <64 x i8> %t0
434}
435
436; CHECK-LABEL: test_49:
437; CHECK: r[[REG49:[0-9]+]] = #49
438; CHECK: v0 = valign(v1,v0,r[[REG49]])
439; CHECK: jumpr r31
440define <64 x i8> @test_49(<64 x i8> %v0, <64 x i8> %v1) #0 {
441  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
442  ret <64 x i8> %t0
443}
444
445; CHECK-LABEL: test_50:
446; CHECK: r[[REG50:[0-9]+]] = #50
447; CHECK: v0 = valign(v1,v0,r[[REG50]])
448; CHECK: jumpr r31
449define <64 x i8> @test_50(<64 x i8> %v0, <64 x i8> %v1) #0 {
450  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
451  ret <64 x i8> %t0
452}
453
454; CHECK-LABEL: test_51:
455; CHECK: r[[REG51:[0-9]+]] = #51
456; CHECK: v0 = valign(v1,v0,r[[REG51]])
457; CHECK: jumpr r31
458define <64 x i8> @test_51(<64 x i8> %v0, <64 x i8> %v1) #0 {
459  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
460  ret <64 x i8> %t0
461}
462
463; CHECK-LABEL: test_52:
464; CHECK: r[[REG52:[0-9]+]] = #52
465; CHECK: v0 = valign(v1,v0,r[[REG52]])
466; CHECK: jumpr r31
467define <64 x i8> @test_52(<64 x i8> %v0, <64 x i8> %v1) #0 {
468  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
469  ret <64 x i8> %t0
470}
471
472; CHECK-LABEL: test_53:
473; CHECK: r[[REG53:[0-9]+]] = #53
474; CHECK: v0 = valign(v1,v0,r[[REG53]])
475; CHECK: jumpr r31
476define <64 x i8> @test_53(<64 x i8> %v0, <64 x i8> %v1) #0 {
477  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
478  ret <64 x i8> %t0
479}
480
481; CHECK-LABEL: test_54:
482; CHECK: r[[REG54:[0-9]+]] = #54
483; CHECK: v0 = valign(v1,v0,r[[REG54]])
484; CHECK: jumpr r31
485define <64 x i8> @test_54(<64 x i8> %v0, <64 x i8> %v1) #0 {
486  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
487  ret <64 x i8> %t0
488}
489
490; CHECK-LABEL: test_55:
491; CHECK: r[[REG55:[0-9]+]] = #55
492; CHECK: v0 = valign(v1,v0,r[[REG55]])
493; CHECK: jumpr r31
494define <64 x i8> @test_55(<64 x i8> %v0, <64 x i8> %v1) #0 {
495  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
496  ret <64 x i8> %t0
497}
498
499; CHECK-LABEL: test_56:
500; CHECK: r[[REG56:[0-9]+]] = #56
501; CHECK: v0 = valign(v1,v0,r[[REG56]])
502; CHECK: jumpr r31
503define <64 x i8> @test_56(<64 x i8> %v0, <64 x i8> %v1) #0 {
504  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
505  ret <64 x i8> %t0
506}
507
508; CHECK-LABEL: test_57:
509; CHECK: v0 = vlalign(v1,v0,#7)
510; CHECK: jumpr r31
511define <64 x i8> @test_57(<64 x i8> %v0, <64 x i8> %v1) #0 {
512  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
513  ret <64 x i8> %t0
514}
515
516; CHECK-LABEL: test_58:
517; CHECK: v0 = vlalign(v1,v0,#6)
518; CHECK: jumpr r31
519define <64 x i8> @test_58(<64 x i8> %v0, <64 x i8> %v1) #0 {
520  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
521  ret <64 x i8> %t0
522}
523
524; CHECK-LABEL: test_59:
525; CHECK: v0 = vlalign(v1,v0,#5)
526; CHECK: jumpr r31
527define <64 x i8> @test_59(<64 x i8> %v0, <64 x i8> %v1) #0 {
528  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
529  ret <64 x i8> %t0
530}
531
532; CHECK-LABEL: test_60:
533; CHECK: v0 = vlalign(v1,v0,#4)
534; CHECK: jumpr r31
535define <64 x i8> @test_60(<64 x i8> %v0, <64 x i8> %v1) #0 {
536  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
537  ret <64 x i8> %t0
538}
539
540; CHECK-LABEL: test_61:
541; CHECK: v0 = vlalign(v1,v0,#3)
542; CHECK: jumpr r31
543define <64 x i8> @test_61(<64 x i8> %v0, <64 x i8> %v1) #0 {
544  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
545  ret <64 x i8> %t0
546}
547
548; CHECK-LABEL: test_62:
549; CHECK: v0 = vlalign(v1,v0,#2)
550; CHECK: jumpr r31
551define <64 x i8> @test_62(<64 x i8> %v0, <64 x i8> %v1) #0 {
552  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
553  ret <64 x i8> %t0
554}
555
556; CHECK-LABEL: test_63:
557; CHECK: v0 = vlalign(v1,v0,#1)
558; CHECK: jumpr r31
559define <64 x i8> @test_63(<64 x i8> %v0, <64 x i8> %v1) #0 {
560  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
561  ret <64 x i8> %t0
562}
563
564; CHECK-LABEL: test_64:
565; CHECK: v0 = v1
566; CHECK: jumpr r31
567define <64 x i8> @test_64(<64 x i8> %v0, <64 x i8> %v1) #0 {
568  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
569  ret <64 x i8> %t0
570}
571
572; CHECK-LABEL: test_65:
573; CHECK: v0 = valign(v1,v1,#1)
574; CHECK: jumpr r31
575define <64 x i8> @test_65(<64 x i8> %v0, <64 x i8> %v1) #0 {
576  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
577  ret <64 x i8> %t0
578}
579
580; CHECK-LABEL: test_66:
581; CHECK: v0 = valign(v1,v1,#2)
582; CHECK: jumpr r31
583define <64 x i8> @test_66(<64 x i8> %v0, <64 x i8> %v1) #0 {
584  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
585  ret <64 x i8> %t0
586}
587
588; CHECK-LABEL: test_67:
589; CHECK: v0 = valign(v1,v1,#3)
590; CHECK: jumpr r31
591define <64 x i8> @test_67(<64 x i8> %v0, <64 x i8> %v1) #0 {
592  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
593  ret <64 x i8> %t0
594}
595
596; CHECK-LABEL: test_68:
597; CHECK: v0 = valign(v1,v1,#4)
598; CHECK: jumpr r31
599define <64 x i8> @test_68(<64 x i8> %v0, <64 x i8> %v1) #0 {
600  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
601  ret <64 x i8> %t0
602}
603
604; CHECK-LABEL: test_69:
605; CHECK: v0 = valign(v1,v1,#5)
606; CHECK: jumpr r31
607define <64 x i8> @test_69(<64 x i8> %v0, <64 x i8> %v1) #0 {
608  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
609  ret <64 x i8> %t0
610}
611
612; CHECK-LABEL: test_70:
613; CHECK: v0 = valign(v1,v1,#6)
614; CHECK: jumpr r31
615define <64 x i8> @test_70(<64 x i8> %v0, <64 x i8> %v1) #0 {
616  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
617  ret <64 x i8> %t0
618}
619
620; CHECK-LABEL: test_71:
621; CHECK: v0 = valign(v1,v1,#7)
622; CHECK: jumpr r31
623define <64 x i8> @test_71(<64 x i8> %v0, <64 x i8> %v1) #0 {
624  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
625  ret <64 x i8> %t0
626}
627
628; CHECK-LABEL: test_72:
629; CHECK: r[[REG72:[0-9]+]] = #8
630; CHECK: v0 = valign(v1,v1,r[[REG72]])
631; CHECK: jumpr r31
632define <64 x i8> @test_72(<64 x i8> %v0, <64 x i8> %v1) #0 {
633  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
634  ret <64 x i8> %t0
635}
636
637; CHECK-LABEL: test_73:
638; CHECK: r[[REG73:[0-9]+]] = #9
639; CHECK: v0 = valign(v1,v1,r[[REG73]])
640; CHECK: jumpr r31
641define <64 x i8> @test_73(<64 x i8> %v0, <64 x i8> %v1) #0 {
642  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
643  ret <64 x i8> %t0
644}
645
646; CHECK-LABEL: test_74:
647; CHECK: r[[REG74:[0-9]+]] = #10
648; CHECK: v0 = valign(v1,v1,r[[REG74]])
649; CHECK: jumpr r31
650define <64 x i8> @test_74(<64 x i8> %v0, <64 x i8> %v1) #0 {
651  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
652  ret <64 x i8> %t0
653}
654
655; CHECK-LABEL: test_75:
656; CHECK: r[[REG75:[0-9]+]] = #11
657; CHECK: v0 = valign(v1,v1,r[[REG75]])
658; CHECK: jumpr r31
659define <64 x i8> @test_75(<64 x i8> %v0, <64 x i8> %v1) #0 {
660  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
661  ret <64 x i8> %t0
662}
663
664; CHECK-LABEL: test_76:
665; CHECK: r[[REG76:[0-9]+]] = #12
666; CHECK: v0 = valign(v1,v1,r[[REG76]])
667; CHECK: jumpr r31
668define <64 x i8> @test_76(<64 x i8> %v0, <64 x i8> %v1) #0 {
669  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
670  ret <64 x i8> %t0
671}
672
673; CHECK-LABEL: test_77:
674; CHECK: r[[REG77:[0-9]+]] = #13
675; CHECK: v0 = valign(v1,v1,r[[REG77]])
676; CHECK: jumpr r31
677define <64 x i8> @test_77(<64 x i8> %v0, <64 x i8> %v1) #0 {
678  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
679  ret <64 x i8> %t0
680}
681
682; CHECK-LABEL: test_78:
683; CHECK: r[[REG78:[0-9]+]] = #14
684; CHECK: v0 = valign(v1,v1,r[[REG78]])
685; CHECK: jumpr r31
686define <64 x i8> @test_78(<64 x i8> %v0, <64 x i8> %v1) #0 {
687  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
688  ret <64 x i8> %t0
689}
690
691; CHECK-LABEL: test_79:
692; CHECK: r[[REG79:[0-9]+]] = #15
693; CHECK: v0 = valign(v1,v1,r[[REG79]])
694; CHECK: jumpr r31
695define <64 x i8> @test_79(<64 x i8> %v0, <64 x i8> %v1) #0 {
696  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
697  ret <64 x i8> %t0
698}
699
700; CHECK-LABEL: test_80:
701; CHECK: r[[REG80:[0-9]+]] = #16
702; CHECK: v0 = valign(v1,v1,r[[REG80]])
703; CHECK: jumpr r31
704define <64 x i8> @test_80(<64 x i8> %v0, <64 x i8> %v1) #0 {
705  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
706  ret <64 x i8> %t0
707}
708
709; CHECK-LABEL: test_81:
710; CHECK: r[[REG81:[0-9]+]] = #17
711; CHECK: v0 = valign(v1,v1,r[[REG81]])
712; CHECK: jumpr r31
713define <64 x i8> @test_81(<64 x i8> %v0, <64 x i8> %v1) #0 {
714  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
715  ret <64 x i8> %t0
716}
717
718; CHECK-LABEL: test_82:
719; CHECK: r[[REG82:[0-9]+]] = #18
720; CHECK: v0 = valign(v1,v1,r[[REG82]])
721; CHECK: jumpr r31
722define <64 x i8> @test_82(<64 x i8> %v0, <64 x i8> %v1) #0 {
723  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
724  ret <64 x i8> %t0
725}
726
727; CHECK-LABEL: test_83:
728; CHECK: r[[REG83:[0-9]+]] = #19
729; CHECK: v0 = valign(v1,v1,r[[REG83]])
730; CHECK: jumpr r31
731define <64 x i8> @test_83(<64 x i8> %v0, <64 x i8> %v1) #0 {
732  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
733  ret <64 x i8> %t0
734}
735
736; CHECK-LABEL: test_84:
737; CHECK: r[[REG84:[0-9]+]] = #20
738; CHECK: v0 = valign(v1,v1,r[[REG84]])
739; CHECK: jumpr r31
740define <64 x i8> @test_84(<64 x i8> %v0, <64 x i8> %v1) #0 {
741  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
742  ret <64 x i8> %t0
743}
744
745; CHECK-LABEL: test_85:
746; CHECK: r[[REG85:[0-9]+]] = #21
747; CHECK: v0 = valign(v1,v1,r[[REG85]])
748; CHECK: jumpr r31
749define <64 x i8> @test_85(<64 x i8> %v0, <64 x i8> %v1) #0 {
750  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
751  ret <64 x i8> %t0
752}
753
754; CHECK-LABEL: test_86:
755; CHECK: r[[REG86:[0-9]+]] = #22
756; CHECK: v0 = valign(v1,v1,r[[REG86]])
757; CHECK: jumpr r31
758define <64 x i8> @test_86(<64 x i8> %v0, <64 x i8> %v1) #0 {
759  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
760  ret <64 x i8> %t0
761}
762
763; CHECK-LABEL: test_87:
764; CHECK: r[[REG87:[0-9]+]] = #23
765; CHECK: v0 = valign(v1,v1,r[[REG87]])
766; CHECK: jumpr r31
767define <64 x i8> @test_87(<64 x i8> %v0, <64 x i8> %v1) #0 {
768  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
769  ret <64 x i8> %t0
770}
771
772; CHECK-LABEL: test_88:
773; CHECK: r[[REG88:[0-9]+]] = #24
774; CHECK: v0 = valign(v1,v1,r[[REG88]])
775; CHECK: jumpr r31
776define <64 x i8> @test_88(<64 x i8> %v0, <64 x i8> %v1) #0 {
777  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
778  ret <64 x i8> %t0
779}
780
781; CHECK-LABEL: test_89:
782; CHECK: r[[REG89:[0-9]+]] = #25
783; CHECK: v0 = valign(v1,v1,r[[REG89]])
784; CHECK: jumpr r31
785define <64 x i8> @test_89(<64 x i8> %v0, <64 x i8> %v1) #0 {
786  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
787  ret <64 x i8> %t0
788}
789
790; CHECK-LABEL: test_90:
791; CHECK: r[[REG90:[0-9]+]] = #26
792; CHECK: v0 = valign(v1,v1,r[[REG90]])
793; CHECK: jumpr r31
794define <64 x i8> @test_90(<64 x i8> %v0, <64 x i8> %v1) #0 {
795  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
796  ret <64 x i8> %t0
797}
798
799; CHECK-LABEL: test_91:
800; CHECK: r[[REG91:[0-9]+]] = #27
801; CHECK: v0 = valign(v1,v1,r[[REG91]])
802; CHECK: jumpr r31
803define <64 x i8> @test_91(<64 x i8> %v0, <64 x i8> %v1) #0 {
804  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
805  ret <64 x i8> %t0
806}
807
808; CHECK-LABEL: test_92:
809; CHECK: r[[REG92:[0-9]+]] = #28
810; CHECK: v0 = valign(v1,v1,r[[REG92]])
811; CHECK: jumpr r31
812define <64 x i8> @test_92(<64 x i8> %v0, <64 x i8> %v1) #0 {
813  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
814  ret <64 x i8> %t0
815}
816
817; CHECK-LABEL: test_93:
818; CHECK: r[[REG93:[0-9]+]] = #29
819; CHECK: v0 = valign(v1,v1,r[[REG93]])
820; CHECK: jumpr r31
821define <64 x i8> @test_93(<64 x i8> %v0, <64 x i8> %v1) #0 {
822  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
823  ret <64 x i8> %t0
824}
825
826; CHECK-LABEL: test_94:
827; CHECK: r[[REG94:[0-9]+]] = #30
828; CHECK: v0 = valign(v1,v1,r[[REG94]])
829; CHECK: jumpr r31
830define <64 x i8> @test_94(<64 x i8> %v0, <64 x i8> %v1) #0 {
831  %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
832  ret <64 x i8> %t0
833}
834
835attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length64b" }
836