Lines Matching refs:AVX
4 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+avx | FileCheck %s --check-prefix=AVX --check-p…
5 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-p…
24 ; AVX-LABEL: extractelement_v16i8_1:
25 ; AVX: # BB#0:
26 ; AVX-NEXT: vpextrb $1, %xmm0, %eax
27 ; AVX-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill>
28 ; AVX-NEXT: retq
46 ; AVX-LABEL: extractelement_v16i8_11:
47 ; AVX: # BB#0:
48 ; AVX-NEXT: vpextrb $11, %xmm0, %eax
49 ; AVX-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill>
50 ; AVX-NEXT: retq
68 ; AVX-LABEL: extractelement_v16i8_14:
69 ; AVX: # BB#0:
70 ; AVX-NEXT: vpextrb $14, %xmm0, %eax
71 ; AVX-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill>
72 ; AVX-NEXT: retq
90 ; AVX-LABEL: extractelement_v32i8_1:
91 ; AVX: # BB#0:
92 ; AVX-NEXT: vpextrb $1, %xmm0, %eax
93 ; AVX-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill>
94 ; AVX-NEXT: vzeroupper
95 ; AVX-NEXT: retq
139 ; AVX-LABEL: extractelement_v8i16_0:
140 ; AVX: # BB#0:
141 ; AVX-NEXT: vmovd %xmm0, %eax
142 ; AVX-NEXT: # kill: %AX<def> %AX<kill> %EAX<kill>
143 ; AVX-NEXT: retq
155 ; AVX-LABEL: extractelement_v8i16_3:
156 ; AVX: # BB#0:
157 ; AVX-NEXT: vpextrw $3, %xmm0, %eax
158 ; AVX-NEXT: # kill: %AX<def> %AX<kill> %EAX<kill>
159 ; AVX-NEXT: retq
171 ; AVX-LABEL: extractelement_v16i16_0:
172 ; AVX: # BB#0:
173 ; AVX-NEXT: vmovd %xmm0, %eax
174 ; AVX-NEXT: # kill: %AX<def> %AX<kill> %EAX<kill>
175 ; AVX-NEXT: vzeroupper
176 ; AVX-NEXT: retq
213 ; AVX-LABEL: extractelement_v4i32_0:
214 ; AVX: # BB#0:
215 ; AVX-NEXT: vmovd %xmm0, %eax
216 ; AVX-NEXT: retq
233 ; AVX-LABEL: extractelement_v4i32_3:
234 ; AVX: # BB#0:
235 ; AVX-NEXT: vpextrd $3, %xmm0, %eax
236 ; AVX-NEXT: retq
247 ; AVX-LABEL: extractelement_v8i32_0:
248 ; AVX: # BB#0:
249 ; AVX-NEXT: vextractf128 $1, %ymm0, %xmm0
250 ; AVX-NEXT: vmovd %xmm0, %eax
251 ; AVX-NEXT: vzeroupper
252 ; AVX-NEXT: retq
263 ; AVX-LABEL: extractelement_v8i32_4:
264 ; AVX: # BB#0:
265 ; AVX-NEXT: vextractf128 $1, %ymm0, %xmm0
266 ; AVX-NEXT: vmovd %xmm0, %eax
267 ; AVX-NEXT: vzeroupper
268 ; AVX-NEXT: retq
308 ; AVX-LABEL: extractelement_v2i64_0:
309 ; AVX: # BB#0:
310 ; AVX-NEXT: vmovq %xmm0, %rax
311 ; AVX-NEXT: retq
328 ; AVX-LABEL: extractelement_v2i64_1:
329 ; AVX: # BB#0:
330 ; AVX-NEXT: vpextrq $1, %xmm0, %rax
331 ; AVX-NEXT: retq
348 ; AVX-LABEL: extractelement_v4i64_1:
349 ; AVX: # BB#0:
350 ; AVX-NEXT: vpextrq $1, %xmm0, %rax
351 ; AVX-NEXT: vzeroupper
352 ; AVX-NEXT: retq
398 ; AVX-LABEL: extractelement_v16i8_var:
399 ; AVX: # BB#0:
400 ; AVX-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
401 ; AVX-NEXT: leaq -{{[0-9]+}}(%rsp), %rax
402 ; AVX-NEXT: movb (%rdi,%rax), %al
403 ; AVX-NEXT: retq
423 ; AVX-LABEL: extractelement_v32i8_var:
424 ; AVX: # BB#0:
425 ; AVX-NEXT: pushq %rbp
426 ; AVX-NEXT: movq %rsp, %rbp
427 ; AVX-NEXT: andq $-32, %rsp
428 ; AVX-NEXT: subq $64, %rsp
429 ; AVX-NEXT: vmovaps %ymm0, (%rsp)
430 ; AVX-NEXT: leaq (%rsp), %rax
431 ; AVX-NEXT: movb (%rdi,%rax), %al
432 ; AVX-NEXT: movq %rbp, %rsp
433 ; AVX-NEXT: popq %rbp
434 ; AVX-NEXT: vzeroupper
435 ; AVX-NEXT: retq
447 ; AVX-LABEL: extractelement_v8i16_var:
448 ; AVX: # BB#0:
449 ; AVX-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
450 ; AVX-NEXT: movzwl -24(%rsp,%rdi,2), %eax
451 ; AVX-NEXT: retq
470 ; AVX-LABEL: extractelement_v16i16_var:
471 ; AVX: # BB#0:
472 ; AVX-NEXT: pushq %rbp
473 ; AVX-NEXT: movq %rsp, %rbp
474 ; AVX-NEXT: andq $-32, %rsp
475 ; AVX-NEXT: subq $64, %rsp
476 ; AVX-NEXT: vmovaps %ymm0, (%rsp)
477 ; AVX-NEXT: movzwl (%rsp,%rdi,2), %eax
478 ; AVX-NEXT: movq %rbp, %rsp
479 ; AVX-NEXT: popq %rbp
480 ; AVX-NEXT: vzeroupper
481 ; AVX-NEXT: retq
493 ; AVX-LABEL: extractelement_v4i32_var:
494 ; AVX: # BB#0:
495 ; AVX-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
496 ; AVX-NEXT: movl -24(%rsp,%rdi,4), %eax
497 ; AVX-NEXT: retq
547 ; AVX-LABEL: extractelement_v2i64_var:
548 ; AVX: # BB#0:
549 ; AVX-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
550 ; AVX-NEXT: movq -24(%rsp,%rdi,8), %rax
551 ; AVX-NEXT: retq
570 ; AVX-LABEL: extractelement_v4i64_var:
571 ; AVX: # BB#0:
572 ; AVX-NEXT: pushq %rbp
573 ; AVX-NEXT: movq %rsp, %rbp
574 ; AVX-NEXT: andq $-32, %rsp
575 ; AVX-NEXT: subq $64, %rsp
576 ; AVX-NEXT: vmovaps %ymm0, (%rsp)
577 ; AVX-NEXT: movq (%rsp,%rdi,8), %rax
578 ; AVX-NEXT: movq %rbp, %rsp
579 ; AVX-NEXT: popq %rbp
580 ; AVX-NEXT: vzeroupper
581 ; AVX-NEXT: retq
595 ; AVX-LABEL: extractelement_32i8_m1:
596 ; AVX: # BB#0:
597 ; AVX-NEXT: retq
607 ; AVX-LABEL: extractelement_v16i16_m4:
608 ; AVX: # BB#0:
609 ; AVX-NEXT: retq
619 ; AVX-LABEL: extractelement_v8i32_15:
620 ; AVX: # BB#0:
621 ; AVX-NEXT: retq
631 ; AVX-LABEL: extractelement_v4i64_4:
632 ; AVX: # BB#0:
633 ; AVX-NEXT: retq