Lines Matching +full:- +full:x
1 ; RUN: llc -mtriple=arm-eabi -mattr=+neon -mcpu=cortex-a8 %s -o - | FileCheck %s
3 define <8 x i8> @v_andi8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
4 ;CHECK-LABEL: v_andi8:
6 %tmp1 = load <8 x i8>, <8 x i8>* %A
7 %tmp2 = load <8 x i8>, <8 x i8>* %B
8 %tmp3 = and <8 x i8> %tmp1, %tmp2
9 ret <8 x i8> %tmp3
12 define <4 x i16> @v_andi16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
13 ;CHECK-LABEL: v_andi16:
15 %tmp1 = load <4 x i16>, <4 x i16>* %A
16 %tmp2 = load <4 x i16>, <4 x i16>* %B
17 %tmp3 = and <4 x i16> %tmp1, %tmp2
18 ret <4 x i16> %tmp3
21 define <2 x i32> @v_andi32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
22 ;CHECK-LABEL: v_andi32:
24 %tmp1 = load <2 x i32>, <2 x i32>* %A
25 %tmp2 = load <2 x i32>, <2 x i32>* %B
26 %tmp3 = and <2 x i32> %tmp1, %tmp2
27 ret <2 x i32> %tmp3
30 define <1 x i64> @v_andi64(<1 x i64>* %A, <1 x i64>* %B) nounwind {
31 ;CHECK-LABEL: v_andi64:
33 %tmp1 = load <1 x i64>, <1 x i64>* %A
34 %tmp2 = load <1 x i64>, <1 x i64>* %B
35 %tmp3 = and <1 x i64> %tmp1, %tmp2
36 ret <1 x i64> %tmp3
39 define <16 x i8> @v_andQi8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
40 ;CHECK-LABEL: v_andQi8:
42 %tmp1 = load <16 x i8>, <16 x i8>* %A
43 %tmp2 = load <16 x i8>, <16 x i8>* %B
44 %tmp3 = and <16 x i8> %tmp1, %tmp2
45 ret <16 x i8> %tmp3
48 define <8 x i16> @v_andQi16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
49 ;CHECK-LABEL: v_andQi16:
51 %tmp1 = load <8 x i16>, <8 x i16>* %A
52 %tmp2 = load <8 x i16>, <8 x i16>* %B
53 %tmp3 = and <8 x i16> %tmp1, %tmp2
54 ret <8 x i16> %tmp3
57 define <4 x i32> @v_andQi32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
58 ;CHECK-LABEL: v_andQi32:
60 %tmp1 = load <4 x i32>, <4 x i32>* %A
61 %tmp2 = load <4 x i32>, <4 x i32>* %B
62 %tmp3 = and <4 x i32> %tmp1, %tmp2
63 ret <4 x i32> %tmp3
66 define <2 x i64> @v_andQi64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
67 ;CHECK-LABEL: v_andQi64:
69 %tmp1 = load <2 x i64>, <2 x i64>* %A
70 %tmp2 = load <2 x i64>, <2 x i64>* %B
71 %tmp3 = and <2 x i64> %tmp1, %tmp2
72 ret <2 x i64> %tmp3
75 define <8 x i8> @v_bici8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
76 ;CHECK-LABEL: v_bici8:
78 %tmp1 = load <8 x i8>, <8 x i8>* %A
79 %tmp2 = load <8 x i8>, <8 x i8>* %B
80 %tmp3 = xor <8 x i8> %tmp2, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1 >
81 %tmp4 = and <8 x i8> %tmp1, %tmp3
82 ret <8 x i8> %tmp4
85 define <4 x i16> @v_bici16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
86 ;CHECK-LABEL: v_bici16:
88 %tmp1 = load <4 x i16>, <4 x i16>* %A
89 %tmp2 = load <4 x i16>, <4 x i16>* %B
90 %tmp3 = xor <4 x i16> %tmp2, < i16 -1, i16 -1, i16 -1, i16 -1 >
91 %tmp4 = and <4 x i16> %tmp1, %tmp3
92 ret <4 x i16> %tmp4
95 define <2 x i32> @v_bici32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
96 ;CHECK-LABEL: v_bici32:
98 %tmp1 = load <2 x i32>, <2 x i32>* %A
99 %tmp2 = load <2 x i32>, <2 x i32>* %B
100 %tmp3 = xor <2 x i32> %tmp2, < i32 -1, i32 -1 >
101 %tmp4 = and <2 x i32> %tmp1, %tmp3
102 ret <2 x i32> %tmp4
105 define <1 x i64> @v_bici64(<1 x i64>* %A, <1 x i64>* %B) nounwind {
106 ;CHECK-LABEL: v_bici64:
108 %tmp1 = load <1 x i64>, <1 x i64>* %A
109 %tmp2 = load <1 x i64>, <1 x i64>* %B
110 %tmp3 = xor <1 x i64> %tmp2, < i64 -1 >
111 %tmp4 = and <1 x i64> %tmp1, %tmp3
112 ret <1 x i64> %tmp4
115 define <16 x i8> @v_bicQi8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
116 ;CHECK-LABEL: v_bicQi8:
118 %tmp1 = load <16 x i8>, <16 x i8>* %A
119 %tmp2 = load <16 x i8>, <16 x i8>* %B
120 …mp3 = xor <16 x i8> %tmp2, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1,…
121 %tmp4 = and <16 x i8> %tmp1, %tmp3
122 ret <16 x i8> %tmp4
125 define <8 x i16> @v_bicQi16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
126 ;CHECK-LABEL: v_bicQi16:
128 %tmp1 = load <8 x i16>, <8 x i16>* %A
129 %tmp2 = load <8 x i16>, <8 x i16>* %B
130 %tmp3 = xor <8 x i16> %tmp2, < i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1 >
131 %tmp4 = and <8 x i16> %tmp1, %tmp3
132 ret <8 x i16> %tmp4
135 define <4 x i32> @v_bicQi32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
136 ;CHECK-LABEL: v_bicQi32:
138 %tmp1 = load <4 x i32>, <4 x i32>* %A
139 %tmp2 = load <4 x i32>, <4 x i32>* %B
140 %tmp3 = xor <4 x i32> %tmp2, < i32 -1, i32 -1, i32 -1, i32 -1 >
141 %tmp4 = and <4 x i32> %tmp1, %tmp3
142 ret <4 x i32> %tmp4
145 define <2 x i64> @v_bicQi64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
146 ;CHECK-LABEL: v_bicQi64:
148 %tmp1 = load <2 x i64>, <2 x i64>* %A
149 %tmp2 = load <2 x i64>, <2 x i64>* %B
150 %tmp3 = xor <2 x i64> %tmp2, < i64 -1, i64 -1 >
151 %tmp4 = and <2 x i64> %tmp1, %tmp3
152 ret <2 x i64> %tmp4
155 define <8 x i8> @v_eori8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
156 ;CHECK-LABEL: v_eori8:
158 %tmp1 = load <8 x i8>, <8 x i8>* %A
159 %tmp2 = load <8 x i8>, <8 x i8>* %B
160 %tmp3 = xor <8 x i8> %tmp1, %tmp2
161 ret <8 x i8> %tmp3
164 define <4 x i16> @v_eori16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
165 ;CHECK-LABEL: v_eori16:
167 %tmp1 = load <4 x i16>, <4 x i16>* %A
168 %tmp2 = load <4 x i16>, <4 x i16>* %B
169 %tmp3 = xor <4 x i16> %tmp1, %tmp2
170 ret <4 x i16> %tmp3
173 define <2 x i32> @v_eori32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
174 ;CHECK-LABEL: v_eori32:
176 %tmp1 = load <2 x i32>, <2 x i32>* %A
177 %tmp2 = load <2 x i32>, <2 x i32>* %B
178 %tmp3 = xor <2 x i32> %tmp1, %tmp2
179 ret <2 x i32> %tmp3
182 define <1 x i64> @v_eori64(<1 x i64>* %A, <1 x i64>* %B) nounwind {
183 ;CHECK-LABEL: v_eori64:
185 %tmp1 = load <1 x i64>, <1 x i64>* %A
186 %tmp2 = load <1 x i64>, <1 x i64>* %B
187 %tmp3 = xor <1 x i64> %tmp1, %tmp2
188 ret <1 x i64> %tmp3
191 define <16 x i8> @v_eorQi8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
192 ;CHECK-LABEL: v_eorQi8:
194 %tmp1 = load <16 x i8>, <16 x i8>* %A
195 %tmp2 = load <16 x i8>, <16 x i8>* %B
196 %tmp3 = xor <16 x i8> %tmp1, %tmp2
197 ret <16 x i8> %tmp3
200 define <8 x i16> @v_eorQi16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
201 ;CHECK-LABEL: v_eorQi16:
203 %tmp1 = load <8 x i16>, <8 x i16>* %A
204 %tmp2 = load <8 x i16>, <8 x i16>* %B
205 %tmp3 = xor <8 x i16> %tmp1, %tmp2
206 ret <8 x i16> %tmp3
209 define <4 x i32> @v_eorQi32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
210 ;CHECK-LABEL: v_eorQi32:
212 %tmp1 = load <4 x i32>, <4 x i32>* %A
213 %tmp2 = load <4 x i32>, <4 x i32>* %B
214 %tmp3 = xor <4 x i32> %tmp1, %tmp2
215 ret <4 x i32> %tmp3
218 define <2 x i64> @v_eorQi64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
219 ;CHECK-LABEL: v_eorQi64:
221 %tmp1 = load <2 x i64>, <2 x i64>* %A
222 %tmp2 = load <2 x i64>, <2 x i64>* %B
223 %tmp3 = xor <2 x i64> %tmp1, %tmp2
224 ret <2 x i64> %tmp3
227 define <8 x i8> @v_mvni8(<8 x i8>* %A) nounwind {
228 ;CHECK-LABEL: v_mvni8:
230 %tmp1 = load <8 x i8>, <8 x i8>* %A
231 %tmp2 = xor <8 x i8> %tmp1, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1 >
232 ret <8 x i8> %tmp2
235 define <4 x i16> @v_mvni16(<4 x i16>* %A) nounwind {
236 ;CHECK-LABEL: v_mvni16:
238 %tmp1 = load <4 x i16>, <4 x i16>* %A
239 %tmp2 = xor <4 x i16> %tmp1, < i16 -1, i16 -1, i16 -1, i16 -1 >
240 ret <4 x i16> %tmp2
243 define <2 x i32> @v_mvni32(<2 x i32>* %A) nounwind {
244 ;CHECK-LABEL: v_mvni32:
246 %tmp1 = load <2 x i32>, <2 x i32>* %A
247 %tmp2 = xor <2 x i32> %tmp1, < i32 -1, i32 -1 >
248 ret <2 x i32> %tmp2
251 define <1 x i64> @v_mvni64(<1 x i64>* %A) nounwind {
252 ;CHECK-LABEL: v_mvni64:
254 %tmp1 = load <1 x i64>, <1 x i64>* %A
255 %tmp2 = xor <1 x i64> %tmp1, < i64 -1 >
256 ret <1 x i64> %tmp2
259 define <16 x i8> @v_mvnQi8(<16 x i8>* %A) nounwind {
260 ;CHECK-LABEL: v_mvnQi8:
262 %tmp1 = load <16 x i8>, <16 x i8>* %A
263 …mp2 = xor <16 x i8> %tmp1, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1,…
264 ret <16 x i8> %tmp2
267 define <8 x i16> @v_mvnQi16(<8 x i16>* %A) nounwind {
268 ;CHECK-LABEL: v_mvnQi16:
270 %tmp1 = load <8 x i16>, <8 x i16>* %A
271 %tmp2 = xor <8 x i16> %tmp1, < i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1 >
272 ret <8 x i16> %tmp2
275 define <4 x i32> @v_mvnQi32(<4 x i32>* %A) nounwind {
276 ;CHECK-LABEL: v_mvnQi32:
278 %tmp1 = load <4 x i32>, <4 x i32>* %A
279 %tmp2 = xor <4 x i32> %tmp1, < i32 -1, i32 -1, i32 -1, i32 -1 >
280 ret <4 x i32> %tmp2
283 define <2 x i64> @v_mvnQi64(<2 x i64>* %A) nounwind {
284 ;CHECK-LABEL: v_mvnQi64:
286 %tmp1 = load <2 x i64>, <2 x i64>* %A
287 %tmp2 = xor <2 x i64> %tmp1, < i64 -1, i64 -1 >
288 ret <2 x i64> %tmp2
291 define <8 x i8> @v_orri8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
292 ;CHECK-LABEL: v_orri8:
294 %tmp1 = load <8 x i8>, <8 x i8>* %A
295 %tmp2 = load <8 x i8>, <8 x i8>* %B
296 %tmp3 = or <8 x i8> %tmp1, %tmp2
297 ret <8 x i8> %tmp3
300 define <4 x i16> @v_orri16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
301 ;CHECK-LABEL: v_orri16:
303 %tmp1 = load <4 x i16>, <4 x i16>* %A
304 %tmp2 = load <4 x i16>, <4 x i16>* %B
305 %tmp3 = or <4 x i16> %tmp1, %tmp2
306 ret <4 x i16> %tmp3
309 define <2 x i32> @v_orri32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
310 ;CHECK-LABEL: v_orri32:
312 %tmp1 = load <2 x i32>, <2 x i32>* %A
313 %tmp2 = load <2 x i32>, <2 x i32>* %B
314 %tmp3 = or <2 x i32> %tmp1, %tmp2
315 ret <2 x i32> %tmp3
318 define <1 x i64> @v_orri64(<1 x i64>* %A, <1 x i64>* %B) nounwind {
319 ;CHECK-LABEL: v_orri64:
321 %tmp1 = load <1 x i64>, <1 x i64>* %A
322 %tmp2 = load <1 x i64>, <1 x i64>* %B
323 %tmp3 = or <1 x i64> %tmp1, %tmp2
324 ret <1 x i64> %tmp3
327 define <16 x i8> @v_orrQi8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
328 ;CHECK-LABEL: v_orrQi8:
330 %tmp1 = load <16 x i8>, <16 x i8>* %A
331 %tmp2 = load <16 x i8>, <16 x i8>* %B
332 %tmp3 = or <16 x i8> %tmp1, %tmp2
333 ret <16 x i8> %tmp3
336 define <8 x i16> @v_orrQi16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
337 ;CHECK-LABEL: v_orrQi16:
339 %tmp1 = load <8 x i16>, <8 x i16>* %A
340 %tmp2 = load <8 x i16>, <8 x i16>* %B
341 %tmp3 = or <8 x i16> %tmp1, %tmp2
342 ret <8 x i16> %tmp3
345 define <4 x i32> @v_orrQi32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
346 ;CHECK-LABEL: v_orrQi32:
348 %tmp1 = load <4 x i32>, <4 x i32>* %A
349 %tmp2 = load <4 x i32>, <4 x i32>* %B
350 %tmp3 = or <4 x i32> %tmp1, %tmp2
351 ret <4 x i32> %tmp3
354 define <2 x i64> @v_orrQi64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
355 ;CHECK-LABEL: v_orrQi64:
357 %tmp1 = load <2 x i64>, <2 x i64>* %A
358 %tmp2 = load <2 x i64>, <2 x i64>* %B
359 %tmp3 = or <2 x i64> %tmp1, %tmp2
360 ret <2 x i64> %tmp3
363 define <8 x i8> @v_orni8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
364 ;CHECK-LABEL: v_orni8:
366 %tmp1 = load <8 x i8>, <8 x i8>* %A
367 %tmp2 = load <8 x i8>, <8 x i8>* %B
368 %tmp3 = xor <8 x i8> %tmp2, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1 >
369 %tmp4 = or <8 x i8> %tmp1, %tmp3
370 ret <8 x i8> %tmp4
373 define <4 x i16> @v_orni16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
374 ;CHECK-LABEL: v_orni16:
376 %tmp1 = load <4 x i16>, <4 x i16>* %A
377 %tmp2 = load <4 x i16>, <4 x i16>* %B
378 %tmp3 = xor <4 x i16> %tmp2, < i16 -1, i16 -1, i16 -1, i16 -1 >
379 %tmp4 = or <4 x i16> %tmp1, %tmp3
380 ret <4 x i16> %tmp4
383 define <2 x i32> @v_orni32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
384 ;CHECK-LABEL: v_orni32:
386 %tmp1 = load <2 x i32>, <2 x i32>* %A
387 %tmp2 = load <2 x i32>, <2 x i32>* %B
388 %tmp3 = xor <2 x i32> %tmp2, < i32 -1, i32 -1 >
389 %tmp4 = or <2 x i32> %tmp1, %tmp3
390 ret <2 x i32> %tmp4
393 define <1 x i64> @v_orni64(<1 x i64>* %A, <1 x i64>* %B) nounwind {
394 ;CHECK-LABEL: v_orni64:
396 %tmp1 = load <1 x i64>, <1 x i64>* %A
397 %tmp2 = load <1 x i64>, <1 x i64>* %B
398 %tmp3 = xor <1 x i64> %tmp2, < i64 -1 >
399 %tmp4 = or <1 x i64> %tmp1, %tmp3
400 ret <1 x i64> %tmp4
403 define <16 x i8> @v_ornQi8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
404 ;CHECK-LABEL: v_ornQi8:
406 %tmp1 = load <16 x i8>, <16 x i8>* %A
407 %tmp2 = load <16 x i8>, <16 x i8>* %B
408 …mp3 = xor <16 x i8> %tmp2, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1,…
409 %tmp4 = or <16 x i8> %tmp1, %tmp3
410 ret <16 x i8> %tmp4
413 define <8 x i16> @v_ornQi16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
414 ;CHECK-LABEL: v_ornQi16:
416 %tmp1 = load <8 x i16>, <8 x i16>* %A
417 %tmp2 = load <8 x i16>, <8 x i16>* %B
418 %tmp3 = xor <8 x i16> %tmp2, < i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1 >
419 %tmp4 = or <8 x i16> %tmp1, %tmp3
420 ret <8 x i16> %tmp4
423 define <4 x i32> @v_ornQi32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
424 ;CHECK-LABEL: v_ornQi32:
426 %tmp1 = load <4 x i32>, <4 x i32>* %A
427 %tmp2 = load <4 x i32>, <4 x i32>* %B
428 %tmp3 = xor <4 x i32> %tmp2, < i32 -1, i32 -1, i32 -1, i32 -1 >
429 %tmp4 = or <4 x i32> %tmp1, %tmp3
430 ret <4 x i32> %tmp4
433 define <2 x i64> @v_ornQi64(<2 x i64>* %A, <2 x i64>* %B) nounwind {
434 ;CHECK-LABEL: v_ornQi64:
436 %tmp1 = load <2 x i64>, <2 x i64>* %A
437 %tmp2 = load <2 x i64>, <2 x i64>* %B
438 %tmp3 = xor <2 x i64> %tmp2, < i64 -1, i64 -1 >
439 %tmp4 = or <2 x i64> %tmp1, %tmp3
440 ret <2 x i64> %tmp4
443 define <8 x i8> @vtsti8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
444 ;CHECK-LABEL: vtsti8:
446 %tmp1 = load <8 x i8>, <8 x i8>* %A
447 %tmp2 = load <8 x i8>, <8 x i8>* %B
448 %tmp3 = and <8 x i8> %tmp1, %tmp2
449 %tmp4 = icmp ne <8 x i8> %tmp3, zeroinitializer
450 %tmp5 = sext <8 x i1> %tmp4 to <8 x i8>
451 ret <8 x i8> %tmp5
454 define <4 x i16> @vtsti16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
455 ;CHECK-LABEL: vtsti16:
457 %tmp1 = load <4 x i16>, <4 x i16>* %A
458 %tmp2 = load <4 x i16>, <4 x i16>* %B
459 %tmp3 = and <4 x i16> %tmp1, %tmp2
460 %tmp4 = icmp ne <4 x i16> %tmp3, zeroinitializer
461 %tmp5 = sext <4 x i1> %tmp4 to <4 x i16>
462 ret <4 x i16> %tmp5
465 define <2 x i32> @vtsti32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
466 ;CHECK-LABEL: vtsti32:
468 %tmp1 = load <2 x i32>, <2 x i32>* %A
469 %tmp2 = load <2 x i32>, <2 x i32>* %B
470 %tmp3 = and <2 x i32> %tmp1, %tmp2
471 %tmp4 = icmp ne <2 x i32> %tmp3, zeroinitializer
472 %tmp5 = sext <2 x i1> %tmp4 to <2 x i32>
473 ret <2 x i32> %tmp5
476 define <16 x i8> @vtstQi8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
477 ;CHECK-LABEL: vtstQi8:
479 %tmp1 = load <16 x i8>, <16 x i8>* %A
480 %tmp2 = load <16 x i8>, <16 x i8>* %B
481 %tmp3 = and <16 x i8> %tmp1, %tmp2
482 %tmp4 = icmp ne <16 x i8> %tmp3, zeroinitializer
483 %tmp5 = sext <16 x i1> %tmp4 to <16 x i8>
484 ret <16 x i8> %tmp5
487 define <8 x i16> @vtstQi16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
488 ;CHECK-LABEL: vtstQi16:
490 %tmp1 = load <8 x i16>, <8 x i16>* %A
491 %tmp2 = load <8 x i16>, <8 x i16>* %B
492 %tmp3 = and <8 x i16> %tmp1, %tmp2
493 %tmp4 = icmp ne <8 x i16> %tmp3, zeroinitializer
494 %tmp5 = sext <8 x i1> %tmp4 to <8 x i16>
495 ret <8 x i16> %tmp5
498 define <4 x i32> @vtstQi32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
499 ;CHECK-LABEL: vtstQi32:
501 %tmp1 = load <4 x i32>, <4 x i32>* %A
502 %tmp2 = load <4 x i32>, <4 x i32>* %B
503 %tmp3 = and <4 x i32> %tmp1, %tmp2
504 %tmp4 = icmp ne <4 x i32> %tmp3, zeroinitializer
505 %tmp5 = sext <4 x i1> %tmp4 to <4 x i32>
506 ret <4 x i32> %tmp5
509 define <8 x i8> @v_orrimm(<8 x i8>* %A) nounwind {
510 ; CHECK-LABEL: v_orrimm:
511 ; CHECK-NOT: vmov
512 ; CHECK-NOT: vmvn
514 %tmp1 = load <8 x i8>, <8 x i8>* %A
515 %tmp3 = or <8 x i8> %tmp1, <i8 0, i8 0, i8 0, i8 1, i8 0, i8 0, i8 0, i8 1>
516 ret <8 x i8> %tmp3
519 define <16 x i8> @v_orrimmQ(<16 x i8>* %A) nounwind {
521 ; CHECK-NOT: vmov
522 ; CHECK-NOT: vmvn
524 %tmp1 = load <16 x i8>, <16 x i8>* %A
525 …%tmp3 = or <16 x i8> %tmp1, <i8 0, i8 0, i8 0, i8 1, i8 0, i8 0, i8 0, i8 1, i8 0, i8 0, i8 0, i8 …
526 ret <16 x i8> %tmp3
529 define <8 x i8> @v_bicimm(<8 x i8>* %A) nounwind {
530 ; CHECK-LABEL: v_bicimm:
531 ; CHECK-NOT: vmov
532 ; CHECK-NOT: vmvn
534 %tmp1 = load <8 x i8>, <8 x i8>* %A
535 %tmp3 = and <8 x i8> %tmp1, < i8 -1, i8 -1, i8 -1, i8 0, i8 -1, i8 -1, i8 -1, i8 0 >
536 ret <8 x i8> %tmp3
539 define <16 x i8> @v_bicimmQ(<16 x i8>* %A) nounwind {
540 ; CHECK-LABEL: v_bicimmQ:
541 ; CHECK-NOT: vmov
542 ; CHECK-NOT: vmvn
544 %tmp1 = load <16 x i8>, <16 x i8>* %A
545 …%tmp3 = and <16 x i8> %tmp1, < i8 -1, i8 -1, i8 -1, i8 0, i8 -1, i8 -1, i8 -1, i8 0, i8 -1, i8 -1,…
546 ret <16 x i8> %tmp3