Lines Matching refs:AVX2

3 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefix=AVX2
15 ; AVX2-LABEL: zext_and_v8i32:
16 ; AVX2: # %bb.0:
17 ; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
18 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
19 ; AVX2-NEXT: retq
36 ; AVX2-LABEL: zext_or_v8i32:
37 ; AVX2: # %bb.0:
38 ; AVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
39 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
40 ; AVX2-NEXT: retq
57 ; AVX2-LABEL: zext_xor_v8i32:
58 ; AVX2: # %bb.0:
59 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
60 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
61 ; AVX2-NEXT: retq
79 ; AVX2-LABEL: sext_and_v8i32:
80 ; AVX2: # %bb.0:
81 ; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
82 ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
83 ; AVX2-NEXT: retq
101 ; AVX2-LABEL: sext_or_v8i32:
102 ; AVX2: # %bb.0:
103 ; AVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
104 ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
105 ; AVX2-NEXT: retq
123 ; AVX2-LABEL: sext_xor_v8i32:
124 ; AVX2: # %bb.0:
125 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
126 ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
127 ; AVX2-NEXT: retq
143 ; AVX2-LABEL: zext_and_v8i16:
144 ; AVX2: # %bb.0:
145 ; AVX2-NEXT: vpmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
146 ; AVX2-NEXT: vpmovzxbw {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[…
147 ; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
148 ; AVX2-NEXT: retq
164 ; AVX2-LABEL: zext_or_v8i16:
165 ; AVX2: # %bb.0:
166 ; AVX2-NEXT: vpmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
167 ; AVX2-NEXT: vpmovzxbw {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[…
168 ; AVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
169 ; AVX2-NEXT: retq
185 ; AVX2-LABEL: zext_xor_v8i16:
186 ; AVX2: # %bb.0:
187 ; AVX2-NEXT: vpmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
188 ; AVX2-NEXT: vpmovzxbw {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[…
189 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
190 ; AVX2-NEXT: retq
206 ; AVX2-LABEL: sext_and_v8i16:
207 ; AVX2: # %bb.0:
208 ; AVX2-NEXT: vpmovsxbw %xmm0, %xmm0
209 ; AVX2-NEXT: vpmovsxbw %xmm1, %xmm1
210 ; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
211 ; AVX2-NEXT: retq
227 ; AVX2-LABEL: sext_or_v8i16:
228 ; AVX2: # %bb.0:
229 ; AVX2-NEXT: vpmovsxbw %xmm0, %xmm0
230 ; AVX2-NEXT: vpmovsxbw %xmm1, %xmm1
231 ; AVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
232 ; AVX2-NEXT: retq
248 ; AVX2-LABEL: sext_xor_v8i16:
249 ; AVX2: # %bb.0:
250 ; AVX2-NEXT: vpmovsxbw %xmm0, %xmm0
251 ; AVX2-NEXT: vpmovsxbw %xmm1, %xmm1
252 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
253 ; AVX2-NEXT: retq
276 ; AVX2-LABEL: bool_zext_and:
277 ; AVX2: # %bb.0:
278 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
279 ; AVX2-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1
280 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[…
281 ; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0
282 ; AVX2-NEXT: retq
300 ; AVX2-LABEL: bool_zext_or:
301 ; AVX2: # %bb.0:
302 ; AVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
303 ; AVX2-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
304 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
305 ; AVX2-NEXT: retq
323 ; AVX2-LABEL: bool_zext_xor:
324 ; AVX2: # %bb.0:
325 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
326 ; AVX2-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
327 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
328 ; AVX2-NEXT: retq
353 ; AVX2-LABEL: bool_sext_and:
354 ; AVX2: # %bb.0:
355 ; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
356 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
357 ; AVX2-NEXT: vpslld $31, %ymm0, %ymm0
358 ; AVX2-NEXT: vpsrad $31, %ymm0, %ymm0
359 ; AVX2-NEXT: retq
384 ; AVX2-LABEL: bool_sext_or:
385 ; AVX2: # %bb.0:
386 ; AVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
387 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
388 ; AVX2-NEXT: vpslld $31, %ymm0, %ymm0
389 ; AVX2-NEXT: vpsrad $31, %ymm0, %ymm0
390 ; AVX2-NEXT: retq
415 ; AVX2-LABEL: bool_sext_xor:
416 ; AVX2: # %bb.0:
417 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
418 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
419 ; AVX2-NEXT: vpslld $31, %ymm0, %ymm0
420 ; AVX2-NEXT: vpsrad $31, %ymm0, %ymm0
421 ; AVX2-NEXT: retq