xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/mem-promote-integers.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test the basic functionality of integer element promotions of different types.
2*9880d681SAndroid Build Coastguard Worker; This tests checks passing of arguments, loading and storing to memory and
3*9880d681SAndroid Build Coastguard Worker; basic arithmetic.
4*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=x86 < %s > /dev/null
5*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=x86-64 < %s > /dev/null
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine <1 x i8> @test_1xi8(<1 x i8> %x, <1 x i8>* %b) {
8*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i8>, <1 x i8>* %b
9*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i8> %x, %bb
10*9880d681SAndroid Build Coastguard Worker  store <1 x i8> %tt, <1 x i8>* %b
11*9880d681SAndroid Build Coastguard Worker  br label %next
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workernext:
14*9880d681SAndroid Build Coastguard Worker  ret <1 x i8> %tt
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerdefine <1 x i16> @test_1xi16(<1 x i16> %x, <1 x i16>* %b) {
19*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i16>, <1 x i16>* %b
20*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i16> %x, %bb
21*9880d681SAndroid Build Coastguard Worker  store <1 x i16> %tt, <1 x i16>* %b
22*9880d681SAndroid Build Coastguard Worker  br label %next
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workernext:
25*9880d681SAndroid Build Coastguard Worker  ret <1 x i16> %tt
26*9880d681SAndroid Build Coastguard Worker}
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Workerdefine <1 x i32> @test_1xi32(<1 x i32> %x, <1 x i32>* %b) {
30*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i32>, <1 x i32>* %b
31*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i32> %x, %bb
32*9880d681SAndroid Build Coastguard Worker  store <1 x i32> %tt, <1 x i32>* %b
33*9880d681SAndroid Build Coastguard Worker  br label %next
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Workernext:
36*9880d681SAndroid Build Coastguard Worker  ret <1 x i32> %tt
37*9880d681SAndroid Build Coastguard Worker}
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Workerdefine <1 x i64> @test_1xi64(<1 x i64> %x, <1 x i64>* %b) {
41*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i64>, <1 x i64>* %b
42*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i64> %x, %bb
43*9880d681SAndroid Build Coastguard Worker  store <1 x i64> %tt, <1 x i64>* %b
44*9880d681SAndroid Build Coastguard Worker  br label %next
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Workernext:
47*9880d681SAndroid Build Coastguard Worker  ret <1 x i64> %tt
48*9880d681SAndroid Build Coastguard Worker}
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Workerdefine <1 x i128> @test_1xi128(<1 x i128> %x, <1 x i128>* %b) {
52*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i128>, <1 x i128>* %b
53*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i128> %x, %bb
54*9880d681SAndroid Build Coastguard Worker  store <1 x i128> %tt, <1 x i128>* %b
55*9880d681SAndroid Build Coastguard Worker  br label %next
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard Workernext:
58*9880d681SAndroid Build Coastguard Worker  ret <1 x i128> %tt
59*9880d681SAndroid Build Coastguard Worker}
60*9880d681SAndroid Build Coastguard Worker
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Workerdefine <1 x i256> @test_1xi256(<1 x i256> %x, <1 x i256>* %b) {
63*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i256>, <1 x i256>* %b
64*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i256> %x, %bb
65*9880d681SAndroid Build Coastguard Worker  store <1 x i256> %tt, <1 x i256>* %b
66*9880d681SAndroid Build Coastguard Worker  br label %next
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Workernext:
69*9880d681SAndroid Build Coastguard Worker  ret <1 x i256> %tt
70*9880d681SAndroid Build Coastguard Worker}
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker
73*9880d681SAndroid Build Coastguard Workerdefine <1 x i512> @test_1xi512(<1 x i512> %x, <1 x i512>* %b) {
74*9880d681SAndroid Build Coastguard Worker  %bb = load <1 x i512>, <1 x i512>* %b
75*9880d681SAndroid Build Coastguard Worker  %tt = xor <1 x i512> %x, %bb
76*9880d681SAndroid Build Coastguard Worker  store <1 x i512> %tt, <1 x i512>* %b
77*9880d681SAndroid Build Coastguard Worker  br label %next
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Workernext:
80*9880d681SAndroid Build Coastguard Worker  ret <1 x i512> %tt
81*9880d681SAndroid Build Coastguard Worker}
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @test_2xi8(<2 x i8> %x, <2 x i8>* %b) {
85*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i8>, <2 x i8>* %b
86*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i8> %x, %bb
87*9880d681SAndroid Build Coastguard Worker  store <2 x i8> %tt, <2 x i8>* %b
88*9880d681SAndroid Build Coastguard Worker  br label %next
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Workernext:
91*9880d681SAndroid Build Coastguard Worker  ret <2 x i8> %tt
92*9880d681SAndroid Build Coastguard Worker}
93*9880d681SAndroid Build Coastguard Worker
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @test_2xi16(<2 x i16> %x, <2 x i16>* %b) {
96*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i16>, <2 x i16>* %b
97*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i16> %x, %bb
98*9880d681SAndroid Build Coastguard Worker  store <2 x i16> %tt, <2 x i16>* %b
99*9880d681SAndroid Build Coastguard Worker  br label %next
100*9880d681SAndroid Build Coastguard Worker
101*9880d681SAndroid Build Coastguard Workernext:
102*9880d681SAndroid Build Coastguard Worker  ret <2 x i16> %tt
103*9880d681SAndroid Build Coastguard Worker}
104*9880d681SAndroid Build Coastguard Worker
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @test_2xi32(<2 x i32> %x, <2 x i32>* %b) {
107*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i32>, <2 x i32>* %b
108*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i32> %x, %bb
109*9880d681SAndroid Build Coastguard Worker  store <2 x i32> %tt, <2 x i32>* %b
110*9880d681SAndroid Build Coastguard Worker  br label %next
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Workernext:
113*9880d681SAndroid Build Coastguard Worker  ret <2 x i32> %tt
114*9880d681SAndroid Build Coastguard Worker}
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_2xi64(<2 x i64> %x, <2 x i64>* %b) {
118*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i64>, <2 x i64>* %b
119*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i64> %x, %bb
120*9880d681SAndroid Build Coastguard Worker  store <2 x i64> %tt, <2 x i64>* %b
121*9880d681SAndroid Build Coastguard Worker  br label %next
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Workernext:
124*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %tt
125*9880d681SAndroid Build Coastguard Worker}
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker
128*9880d681SAndroid Build Coastguard Workerdefine <2 x i128> @test_2xi128(<2 x i128> %x, <2 x i128>* %b) {
129*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i128>, <2 x i128>* %b
130*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i128> %x, %bb
131*9880d681SAndroid Build Coastguard Worker  store <2 x i128> %tt, <2 x i128>* %b
132*9880d681SAndroid Build Coastguard Worker  br label %next
133*9880d681SAndroid Build Coastguard Worker
134*9880d681SAndroid Build Coastguard Workernext:
135*9880d681SAndroid Build Coastguard Worker  ret <2 x i128> %tt
136*9880d681SAndroid Build Coastguard Worker}
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Workerdefine <2 x i256> @test_2xi256(<2 x i256> %x, <2 x i256>* %b) {
140*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i256>, <2 x i256>* %b
141*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i256> %x, %bb
142*9880d681SAndroid Build Coastguard Worker  store <2 x i256> %tt, <2 x i256>* %b
143*9880d681SAndroid Build Coastguard Worker  br label %next
144*9880d681SAndroid Build Coastguard Worker
145*9880d681SAndroid Build Coastguard Workernext:
146*9880d681SAndroid Build Coastguard Worker  ret <2 x i256> %tt
147*9880d681SAndroid Build Coastguard Worker}
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Worker
150*9880d681SAndroid Build Coastguard Workerdefine <2 x i512> @test_2xi512(<2 x i512> %x, <2 x i512>* %b) {
151*9880d681SAndroid Build Coastguard Worker  %bb = load <2 x i512>, <2 x i512>* %b
152*9880d681SAndroid Build Coastguard Worker  %tt = xor <2 x i512> %x, %bb
153*9880d681SAndroid Build Coastguard Worker  store <2 x i512> %tt, <2 x i512>* %b
154*9880d681SAndroid Build Coastguard Worker  br label %next
155*9880d681SAndroid Build Coastguard Worker
156*9880d681SAndroid Build Coastguard Workernext:
157*9880d681SAndroid Build Coastguard Worker  ret <2 x i512> %tt
158*9880d681SAndroid Build Coastguard Worker}
159*9880d681SAndroid Build Coastguard Worker
160*9880d681SAndroid Build Coastguard Worker
161*9880d681SAndroid Build Coastguard Workerdefine <3 x i8> @test_3xi8(<3 x i8> %x, <3 x i8>* %b) {
162*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i8>, <3 x i8>* %b
163*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i8> %x, %bb
164*9880d681SAndroid Build Coastguard Worker  store <3 x i8> %tt, <3 x i8>* %b
165*9880d681SAndroid Build Coastguard Worker  br label %next
166*9880d681SAndroid Build Coastguard Worker
167*9880d681SAndroid Build Coastguard Workernext:
168*9880d681SAndroid Build Coastguard Worker  ret <3 x i8> %tt
169*9880d681SAndroid Build Coastguard Worker}
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Worker
172*9880d681SAndroid Build Coastguard Workerdefine <3 x i16> @test_3xi16(<3 x i16> %x, <3 x i16>* %b) {
173*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i16>, <3 x i16>* %b
174*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i16> %x, %bb
175*9880d681SAndroid Build Coastguard Worker  store <3 x i16> %tt, <3 x i16>* %b
176*9880d681SAndroid Build Coastguard Worker  br label %next
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Workernext:
179*9880d681SAndroid Build Coastguard Worker  ret <3 x i16> %tt
180*9880d681SAndroid Build Coastguard Worker}
181*9880d681SAndroid Build Coastguard Worker
182*9880d681SAndroid Build Coastguard Worker
183*9880d681SAndroid Build Coastguard Workerdefine <3 x i32> @test_3xi32(<3 x i32> %x, <3 x i32>* %b) {
184*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i32>, <3 x i32>* %b
185*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i32> %x, %bb
186*9880d681SAndroid Build Coastguard Worker  store <3 x i32> %tt, <3 x i32>* %b
187*9880d681SAndroid Build Coastguard Worker  br label %next
188*9880d681SAndroid Build Coastguard Worker
189*9880d681SAndroid Build Coastguard Workernext:
190*9880d681SAndroid Build Coastguard Worker  ret <3 x i32> %tt
191*9880d681SAndroid Build Coastguard Worker}
192*9880d681SAndroid Build Coastguard Worker
193*9880d681SAndroid Build Coastguard Worker
194*9880d681SAndroid Build Coastguard Workerdefine <3 x i64> @test_3xi64(<3 x i64> %x, <3 x i64>* %b) {
195*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i64>, <3 x i64>* %b
196*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i64> %x, %bb
197*9880d681SAndroid Build Coastguard Worker  store <3 x i64> %tt, <3 x i64>* %b
198*9880d681SAndroid Build Coastguard Worker  br label %next
199*9880d681SAndroid Build Coastguard Worker
200*9880d681SAndroid Build Coastguard Workernext:
201*9880d681SAndroid Build Coastguard Worker  ret <3 x i64> %tt
202*9880d681SAndroid Build Coastguard Worker}
203*9880d681SAndroid Build Coastguard Worker
204*9880d681SAndroid Build Coastguard Worker
205*9880d681SAndroid Build Coastguard Workerdefine <3 x i128> @test_3xi128(<3 x i128> %x, <3 x i128>* %b) {
206*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i128>, <3 x i128>* %b
207*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i128> %x, %bb
208*9880d681SAndroid Build Coastguard Worker  store <3 x i128> %tt, <3 x i128>* %b
209*9880d681SAndroid Build Coastguard Worker  br label %next
210*9880d681SAndroid Build Coastguard Worker
211*9880d681SAndroid Build Coastguard Workernext:
212*9880d681SAndroid Build Coastguard Worker  ret <3 x i128> %tt
213*9880d681SAndroid Build Coastguard Worker}
214*9880d681SAndroid Build Coastguard Worker
215*9880d681SAndroid Build Coastguard Worker
216*9880d681SAndroid Build Coastguard Workerdefine <3 x i256> @test_3xi256(<3 x i256> %x, <3 x i256>* %b) {
217*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i256>, <3 x i256>* %b
218*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i256> %x, %bb
219*9880d681SAndroid Build Coastguard Worker  store <3 x i256> %tt, <3 x i256>* %b
220*9880d681SAndroid Build Coastguard Worker  br label %next
221*9880d681SAndroid Build Coastguard Worker
222*9880d681SAndroid Build Coastguard Workernext:
223*9880d681SAndroid Build Coastguard Worker  ret <3 x i256> %tt
224*9880d681SAndroid Build Coastguard Worker}
225*9880d681SAndroid Build Coastguard Worker
226*9880d681SAndroid Build Coastguard Worker
227*9880d681SAndroid Build Coastguard Workerdefine <3 x i512> @test_3xi512(<3 x i512> %x, <3 x i512>* %b) {
228*9880d681SAndroid Build Coastguard Worker  %bb = load <3 x i512>, <3 x i512>* %b
229*9880d681SAndroid Build Coastguard Worker  %tt = xor <3 x i512> %x, %bb
230*9880d681SAndroid Build Coastguard Worker  store <3 x i512> %tt, <3 x i512>* %b
231*9880d681SAndroid Build Coastguard Worker  br label %next
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Workernext:
234*9880d681SAndroid Build Coastguard Worker  ret <3 x i512> %tt
235*9880d681SAndroid Build Coastguard Worker}
236*9880d681SAndroid Build Coastguard Worker
237*9880d681SAndroid Build Coastguard Worker
238*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @test_4xi8(<4 x i8> %x, <4 x i8>* %b) {
239*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i8>, <4 x i8>* %b
240*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i8> %x, %bb
241*9880d681SAndroid Build Coastguard Worker  store <4 x i8> %tt, <4 x i8>* %b
242*9880d681SAndroid Build Coastguard Worker  br label %next
243*9880d681SAndroid Build Coastguard Worker
244*9880d681SAndroid Build Coastguard Workernext:
245*9880d681SAndroid Build Coastguard Worker  ret <4 x i8> %tt
246*9880d681SAndroid Build Coastguard Worker}
247*9880d681SAndroid Build Coastguard Worker
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @test_4xi16(<4 x i16> %x, <4 x i16>* %b) {
250*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i16>, <4 x i16>* %b
251*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i16> %x, %bb
252*9880d681SAndroid Build Coastguard Worker  store <4 x i16> %tt, <4 x i16>* %b
253*9880d681SAndroid Build Coastguard Worker  br label %next
254*9880d681SAndroid Build Coastguard Worker
255*9880d681SAndroid Build Coastguard Workernext:
256*9880d681SAndroid Build Coastguard Worker  ret <4 x i16> %tt
257*9880d681SAndroid Build Coastguard Worker}
258*9880d681SAndroid Build Coastguard Worker
259*9880d681SAndroid Build Coastguard Worker
260*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_4xi32(<4 x i32> %x, <4 x i32>* %b) {
261*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i32>, <4 x i32>* %b
262*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i32> %x, %bb
263*9880d681SAndroid Build Coastguard Worker  store <4 x i32> %tt, <4 x i32>* %b
264*9880d681SAndroid Build Coastguard Worker  br label %next
265*9880d681SAndroid Build Coastguard Worker
266*9880d681SAndroid Build Coastguard Workernext:
267*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %tt
268*9880d681SAndroid Build Coastguard Worker}
269*9880d681SAndroid Build Coastguard Worker
270*9880d681SAndroid Build Coastguard Worker
271*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @test_4xi64(<4 x i64> %x, <4 x i64>* %b) {
272*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i64>, <4 x i64>* %b
273*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i64> %x, %bb
274*9880d681SAndroid Build Coastguard Worker  store <4 x i64> %tt, <4 x i64>* %b
275*9880d681SAndroid Build Coastguard Worker  br label %next
276*9880d681SAndroid Build Coastguard Worker
277*9880d681SAndroid Build Coastguard Workernext:
278*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %tt
279*9880d681SAndroid Build Coastguard Worker}
280*9880d681SAndroid Build Coastguard Worker
281*9880d681SAndroid Build Coastguard Worker
282*9880d681SAndroid Build Coastguard Workerdefine <4 x i128> @test_4xi128(<4 x i128> %x, <4 x i128>* %b) {
283*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i128>, <4 x i128>* %b
284*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i128> %x, %bb
285*9880d681SAndroid Build Coastguard Worker  store <4 x i128> %tt, <4 x i128>* %b
286*9880d681SAndroid Build Coastguard Worker  br label %next
287*9880d681SAndroid Build Coastguard Worker
288*9880d681SAndroid Build Coastguard Workernext:
289*9880d681SAndroid Build Coastguard Worker  ret <4 x i128> %tt
290*9880d681SAndroid Build Coastguard Worker}
291*9880d681SAndroid Build Coastguard Worker
292*9880d681SAndroid Build Coastguard Worker
293*9880d681SAndroid Build Coastguard Workerdefine <4 x i256> @test_4xi256(<4 x i256> %x, <4 x i256>* %b) {
294*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i256>, <4 x i256>* %b
295*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i256> %x, %bb
296*9880d681SAndroid Build Coastguard Worker  store <4 x i256> %tt, <4 x i256>* %b
297*9880d681SAndroid Build Coastguard Worker  br label %next
298*9880d681SAndroid Build Coastguard Worker
299*9880d681SAndroid Build Coastguard Workernext:
300*9880d681SAndroid Build Coastguard Worker  ret <4 x i256> %tt
301*9880d681SAndroid Build Coastguard Worker}
302*9880d681SAndroid Build Coastguard Worker
303*9880d681SAndroid Build Coastguard Worker
304*9880d681SAndroid Build Coastguard Workerdefine <4 x i512> @test_4xi512(<4 x i512> %x, <4 x i512>* %b) {
305*9880d681SAndroid Build Coastguard Worker  %bb = load <4 x i512>, <4 x i512>* %b
306*9880d681SAndroid Build Coastguard Worker  %tt = xor <4 x i512> %x, %bb
307*9880d681SAndroid Build Coastguard Worker  store <4 x i512> %tt, <4 x i512>* %b
308*9880d681SAndroid Build Coastguard Worker  br label %next
309*9880d681SAndroid Build Coastguard Worker
310*9880d681SAndroid Build Coastguard Workernext:
311*9880d681SAndroid Build Coastguard Worker  ret <4 x i512> %tt
312*9880d681SAndroid Build Coastguard Worker}
313*9880d681SAndroid Build Coastguard Worker
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Workerdefine <5 x i8> @test_5xi8(<5 x i8> %x, <5 x i8>* %b) {
316*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i8>, <5 x i8>* %b
317*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i8> %x, %bb
318*9880d681SAndroid Build Coastguard Worker  store <5 x i8> %tt, <5 x i8>* %b
319*9880d681SAndroid Build Coastguard Worker  br label %next
320*9880d681SAndroid Build Coastguard Worker
321*9880d681SAndroid Build Coastguard Workernext:
322*9880d681SAndroid Build Coastguard Worker  ret <5 x i8> %tt
323*9880d681SAndroid Build Coastguard Worker}
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Worker
326*9880d681SAndroid Build Coastguard Workerdefine <5 x i16> @test_5xi16(<5 x i16> %x, <5 x i16>* %b) {
327*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i16>, <5 x i16>* %b
328*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i16> %x, %bb
329*9880d681SAndroid Build Coastguard Worker  store <5 x i16> %tt, <5 x i16>* %b
330*9880d681SAndroid Build Coastguard Worker  br label %next
331*9880d681SAndroid Build Coastguard Worker
332*9880d681SAndroid Build Coastguard Workernext:
333*9880d681SAndroid Build Coastguard Worker  ret <5 x i16> %tt
334*9880d681SAndroid Build Coastguard Worker}
335*9880d681SAndroid Build Coastguard Worker
336*9880d681SAndroid Build Coastguard Worker
337*9880d681SAndroid Build Coastguard Workerdefine <5 x i32> @test_5xi32(<5 x i32> %x, <5 x i32>* %b) {
338*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i32>, <5 x i32>* %b
339*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i32> %x, %bb
340*9880d681SAndroid Build Coastguard Worker  store <5 x i32> %tt, <5 x i32>* %b
341*9880d681SAndroid Build Coastguard Worker  br label %next
342*9880d681SAndroid Build Coastguard Worker
343*9880d681SAndroid Build Coastguard Workernext:
344*9880d681SAndroid Build Coastguard Worker  ret <5 x i32> %tt
345*9880d681SAndroid Build Coastguard Worker}
346*9880d681SAndroid Build Coastguard Worker
347*9880d681SAndroid Build Coastguard Worker
348*9880d681SAndroid Build Coastguard Workerdefine <5 x i64> @test_5xi64(<5 x i64> %x, <5 x i64>* %b) {
349*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i64>, <5 x i64>* %b
350*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i64> %x, %bb
351*9880d681SAndroid Build Coastguard Worker  store <5 x i64> %tt, <5 x i64>* %b
352*9880d681SAndroid Build Coastguard Worker  br label %next
353*9880d681SAndroid Build Coastguard Worker
354*9880d681SAndroid Build Coastguard Workernext:
355*9880d681SAndroid Build Coastguard Worker  ret <5 x i64> %tt
356*9880d681SAndroid Build Coastguard Worker}
357*9880d681SAndroid Build Coastguard Worker
358*9880d681SAndroid Build Coastguard Worker
359*9880d681SAndroid Build Coastguard Workerdefine <5 x i128> @test_5xi128(<5 x i128> %x, <5 x i128>* %b) {
360*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i128>, <5 x i128>* %b
361*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i128> %x, %bb
362*9880d681SAndroid Build Coastguard Worker  store <5 x i128> %tt, <5 x i128>* %b
363*9880d681SAndroid Build Coastguard Worker  br label %next
364*9880d681SAndroid Build Coastguard Worker
365*9880d681SAndroid Build Coastguard Workernext:
366*9880d681SAndroid Build Coastguard Worker  ret <5 x i128> %tt
367*9880d681SAndroid Build Coastguard Worker}
368*9880d681SAndroid Build Coastguard Worker
369*9880d681SAndroid Build Coastguard Worker
370*9880d681SAndroid Build Coastguard Workerdefine <5 x i256> @test_5xi256(<5 x i256> %x, <5 x i256>* %b) {
371*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i256>, <5 x i256>* %b
372*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i256> %x, %bb
373*9880d681SAndroid Build Coastguard Worker  store <5 x i256> %tt, <5 x i256>* %b
374*9880d681SAndroid Build Coastguard Worker  br label %next
375*9880d681SAndroid Build Coastguard Worker
376*9880d681SAndroid Build Coastguard Workernext:
377*9880d681SAndroid Build Coastguard Worker  ret <5 x i256> %tt
378*9880d681SAndroid Build Coastguard Worker}
379*9880d681SAndroid Build Coastguard Worker
380*9880d681SAndroid Build Coastguard Worker
381*9880d681SAndroid Build Coastguard Workerdefine <5 x i512> @test_5xi512(<5 x i512> %x, <5 x i512>* %b) {
382*9880d681SAndroid Build Coastguard Worker  %bb = load <5 x i512>, <5 x i512>* %b
383*9880d681SAndroid Build Coastguard Worker  %tt = xor <5 x i512> %x, %bb
384*9880d681SAndroid Build Coastguard Worker  store <5 x i512> %tt, <5 x i512>* %b
385*9880d681SAndroid Build Coastguard Worker  br label %next
386*9880d681SAndroid Build Coastguard Worker
387*9880d681SAndroid Build Coastguard Workernext:
388*9880d681SAndroid Build Coastguard Worker  ret <5 x i512> %tt
389*9880d681SAndroid Build Coastguard Worker}
390*9880d681SAndroid Build Coastguard Worker
391*9880d681SAndroid Build Coastguard Worker
392