Lines Matching refs:AVX2

4 …-mtriple=x86_64-linux -mcpu=core-avx2 -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-AVX2
44 ; CHECK-AVX2-LABEL: test_conditional_block:
45 ; CHECK-AVX2: # %bb.0: # %entry
46 ; CHECK-AVX2-NEXT: cmpl $18, %edx
47 ; CHECK-AVX2-NEXT: jl .LBB0_2
48 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
49 ; CHECK-AVX2-NEXT: movl %edx, 4(%rdi)
50 ; CHECK-AVX2-NEXT: .LBB0_2: # %if.end
51 ; CHECK-AVX2-NEXT: vmovups (%r8), %xmm0
52 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%rcx)
53 ; CHECK-AVX2-NEXT: movl (%rdi), %eax
54 ; CHECK-AVX2-NEXT: movl %eax, (%rsi)
55 ; CHECK-AVX2-NEXT: movl 4(%rdi), %eax
56 ; CHECK-AVX2-NEXT: movl %eax, 4(%rsi)
57 ; CHECK-AVX2-NEXT: movq 8(%rdi), %rax
58 ; CHECK-AVX2-NEXT: movq %rax, 8(%rsi)
59 ; CHECK-AVX2-NEXT: retq
118 ; CHECK-AVX2-LABEL: test_imm_store:
119 ; CHECK-AVX2: # %bb.0: # %entry
120 ; CHECK-AVX2-NEXT: movl $0, (%rdi)
121 ; CHECK-AVX2-NEXT: movl $1, (%rcx)
122 ; CHECK-AVX2-NEXT: movl (%rdi), %eax
123 ; CHECK-AVX2-NEXT: movl %eax, (%rsi)
124 ; CHECK-AVX2-NEXT: movq 4(%rdi), %rax
125 ; CHECK-AVX2-NEXT: movq %rax, 4(%rsi)
126 ; CHECK-AVX2-NEXT: movl 12(%rdi), %eax
127 ; CHECK-AVX2-NEXT: movl %eax, 12(%rsi)
128 ; CHECK-AVX2-NEXT: retq
194 ; CHECK-AVX2-LABEL: test_nondirect_br:
195 ; CHECK-AVX2: # %bb.0: # %entry
196 ; CHECK-AVX2-NEXT: cmpl $18, %edx
197 ; CHECK-AVX2-NEXT: jl .LBB2_2
198 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
199 ; CHECK-AVX2-NEXT: movl %edx, 4(%rdi)
200 ; CHECK-AVX2-NEXT: .LBB2_2: # %if.end
201 ; CHECK-AVX2-NEXT: cmpl $14, %r9d
202 ; CHECK-AVX2-NEXT: jl .LBB2_4
203 ; CHECK-AVX2-NEXT: # %bb.3: # %if.then2
204 ; CHECK-AVX2-NEXT: movl %r9d, 12(%rdi)
205 ; CHECK-AVX2-NEXT: .LBB2_4: # %if.end3
206 ; CHECK-AVX2-NEXT: vmovups (%r8), %xmm0
207 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%rcx)
208 ; CHECK-AVX2-NEXT: movq (%rdi), %rax
209 ; CHECK-AVX2-NEXT: movq %rax, (%rsi)
210 ; CHECK-AVX2-NEXT: movl 8(%rdi), %eax
211 ; CHECK-AVX2-NEXT: movl %eax, 8(%rsi)
212 ; CHECK-AVX2-NEXT: movl 12(%rdi), %eax
213 ; CHECK-AVX2-NEXT: movl %eax, 12(%rsi)
214 ; CHECK-AVX2-NEXT: retq
301 ; CHECK-AVX2-LABEL: test_2preds_block:
302 ; CHECK-AVX2: # %bb.0: # %entry
303 ; CHECK-AVX2-NEXT: movl %r9d, 12(%rdi)
304 ; CHECK-AVX2-NEXT: cmpl $18, %edx
305 ; CHECK-AVX2-NEXT: jl .LBB3_2
306 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
307 ; CHECK-AVX2-NEXT: movl %edx, 4(%rdi)
308 ; CHECK-AVX2-NEXT: .LBB3_2: # %if.end
309 ; CHECK-AVX2-NEXT: vmovups (%r8), %xmm0
310 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%rcx)
311 ; CHECK-AVX2-NEXT: movl (%rdi), %eax
312 ; CHECK-AVX2-NEXT: movl %eax, (%rsi)
313 ; CHECK-AVX2-NEXT: movl 4(%rdi), %eax
314 ; CHECK-AVX2-NEXT: movl %eax, 4(%rsi)
315 ; CHECK-AVX2-NEXT: movl 8(%rdi), %eax
316 ; CHECK-AVX2-NEXT: movl %eax, 8(%rsi)
317 ; CHECK-AVX2-NEXT: movl 12(%rdi), %eax
318 ; CHECK-AVX2-NEXT: movl %eax, 12(%rsi)
319 ; CHECK-AVX2-NEXT: retq
394 ; CHECK-AVX2-LABEL: test_type64:
395 ; CHECK-AVX2: # %bb.0: # %entry
396 ; CHECK-AVX2-NEXT: cmpl $18, %edx
397 ; CHECK-AVX2-NEXT: jl .LBB4_2
398 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
399 ; CHECK-AVX2-NEXT: movslq %edx, %rax
400 ; CHECK-AVX2-NEXT: movq %rax, 8(%rdi)
401 ; CHECK-AVX2-NEXT: .LBB4_2: # %if.end
402 ; CHECK-AVX2-NEXT: vmovups (%r8), %xmm0
403 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%rcx)
404 ; CHECK-AVX2-NEXT: movq (%rdi), %rax
405 ; CHECK-AVX2-NEXT: movq %rax, (%rsi)
406 ; CHECK-AVX2-NEXT: movq 8(%rdi), %rax
407 ; CHECK-AVX2-NEXT: movq %rax, 8(%rsi)
408 ; CHECK-AVX2-NEXT: retq
482 ; CHECK-AVX2-LABEL: test_mixed_type:
483 ; CHECK-AVX2: # %bb.0: # %entry
484 ; CHECK-AVX2-NEXT: cmpl $18, %edx
485 ; CHECK-AVX2-NEXT: jl .LBB5_2
486 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
487 ; CHECK-AVX2-NEXT: movslq %edx, %rax
488 ; CHECK-AVX2-NEXT: movq %rax, (%rdi)
489 ; CHECK-AVX2-NEXT: movb %dl, 8(%rdi)
490 ; CHECK-AVX2-NEXT: .LBB5_2: # %if.end
491 ; CHECK-AVX2-NEXT: movq (%rdi), %rax
492 ; CHECK-AVX2-NEXT: movq %rax, (%rsi)
493 ; CHECK-AVX2-NEXT: movb 8(%rdi), %al
494 ; CHECK-AVX2-NEXT: movb %al, 8(%rsi)
495 ; CHECK-AVX2-NEXT: movl 9(%rdi), %eax
496 ; CHECK-AVX2-NEXT: movl %eax, 9(%rsi)
497 ; CHECK-AVX2-NEXT: movzwl 13(%rdi), %eax
498 ; CHECK-AVX2-NEXT: movw %ax, 13(%rsi)
499 ; CHECK-AVX2-NEXT: movb 15(%rdi), %al
500 ; CHECK-AVX2-NEXT: movb %al, 15(%rsi)
501 ; CHECK-AVX2-NEXT: retq
578 ; CHECK-AVX2-LABEL: test_multiple_blocks:
579 ; CHECK-AVX2: # %bb.0: # %entry
580 ; CHECK-AVX2-NEXT: movl $0, 4(%rdi)
581 ; CHECK-AVX2-NEXT: movl $0, 36(%rdi)
582 ; CHECK-AVX2-NEXT: vmovups 16(%rdi), %xmm0
583 ; CHECK-AVX2-NEXT: vmovups %xmm0, 16(%rsi)
584 ; CHECK-AVX2-NEXT: movl 32(%rdi), %eax
585 ; CHECK-AVX2-NEXT: movl %eax, 32(%rsi)
586 ; CHECK-AVX2-NEXT: movl 36(%rdi), %eax
587 ; CHECK-AVX2-NEXT: movl %eax, 36(%rsi)
588 ; CHECK-AVX2-NEXT: movq 40(%rdi), %rax
589 ; CHECK-AVX2-NEXT: movq %rax, 40(%rsi)
590 ; CHECK-AVX2-NEXT: movl (%rdi), %eax
591 ; CHECK-AVX2-NEXT: movl %eax, (%rsi)
592 ; CHECK-AVX2-NEXT: movl 4(%rdi), %eax
593 ; CHECK-AVX2-NEXT: movl %eax, 4(%rsi)
594 ; CHECK-AVX2-NEXT: vmovups 8(%rdi), %xmm0
595 ; CHECK-AVX2-NEXT: vmovups %xmm0, 8(%rsi)
596 ; CHECK-AVX2-NEXT: movq 24(%rdi), %rax
597 ; CHECK-AVX2-NEXT: movq %rax, 24(%rsi)
598 ; CHECK-AVX2-NEXT: retq
667 ; CHECK-AVX2-LABEL: test_type16:
668 ; CHECK-AVX2: # %bb.0: # %entry
669 ; CHECK-AVX2-NEXT: cmpl $18, %edx
670 ; CHECK-AVX2-NEXT: jl .LBB7_2
671 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
672 ; CHECK-AVX2-NEXT: movw %dx, 2(%rdi)
673 ; CHECK-AVX2-NEXT: .LBB7_2: # %if.end
674 ; CHECK-AVX2-NEXT: vmovups (%r8), %xmm0
675 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%rcx)
676 ; CHECK-AVX2-NEXT: movzwl (%rdi), %eax
677 ; CHECK-AVX2-NEXT: movw %ax, (%rsi)
678 ; CHECK-AVX2-NEXT: movzwl 2(%rdi), %eax
679 ; CHECK-AVX2-NEXT: movw %ax, 2(%rsi)
680 ; CHECK-AVX2-NEXT: movq 4(%rdi), %rax
681 ; CHECK-AVX2-NEXT: movq %rax, 4(%rsi)
682 ; CHECK-AVX2-NEXT: movl 12(%rdi), %eax
683 ; CHECK-AVX2-NEXT: movl %eax, 12(%rsi)
684 ; CHECK-AVX2-NEXT: retq
764 ; CHECK-AVX2-LABEL: test_stack:
765 ; CHECK-AVX2: # %bb.0: # %entry
766 ; CHECK-AVX2-NEXT: movq %rdi, %rax
767 ; CHECK-AVX2-NEXT: movl %esi, {{[0-9]+}}(%rsp)
768 ; CHECK-AVX2-NEXT: vmovups {{[0-9]+}}(%rsp), %xmm0
769 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%rdi)
770 ; CHECK-AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
771 ; CHECK-AVX2-NEXT: movq %rcx, 16(%rdi)
772 ; CHECK-AVX2-NEXT: movl {{[0-9]+}}(%rsp), %ecx
773 ; CHECK-AVX2-NEXT: movl %ecx, 24(%rdi)
774 ; CHECK-AVX2-NEXT: movl {{[0-9]+}}(%rsp), %ecx
775 ; CHECK-AVX2-NEXT: movl %ecx, 28(%rdi)
776 ; CHECK-AVX2-NEXT: vmovups {{[0-9]+}}(%rsp), %xmm0
777 ; CHECK-AVX2-NEXT: vmovups %xmm0, {{[0-9]+}}(%rsp)
778 ; CHECK-AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
779 ; CHECK-AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
780 ; CHECK-AVX2-NEXT: movl {{[0-9]+}}(%rsp), %ecx
781 ; CHECK-AVX2-NEXT: movl %ecx, {{[0-9]+}}(%rsp)
782 ; CHECK-AVX2-NEXT: movl {{[0-9]+}}(%rsp), %ecx
783 ; CHECK-AVX2-NEXT: movl %ecx, {{[0-9]+}}(%rsp)
784 ; CHECK-AVX2-NEXT: retq
915 ; CHECK-AVX2-LABEL: test_limit_all:
916 ; CHECK-AVX2: # %bb.0: # %entry
917 ; CHECK-AVX2-NEXT: pushq %rbp
918 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 16
919 ; CHECK-AVX2-NEXT: pushq %r15
920 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 24
921 ; CHECK-AVX2-NEXT: pushq %r14
922 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 32
923 ; CHECK-AVX2-NEXT: pushq %r12
924 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 40
925 ; CHECK-AVX2-NEXT: pushq %rbx
926 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 48
927 ; CHECK-AVX2-NEXT: .cfi_offset %rbx, -48
928 ; CHECK-AVX2-NEXT: .cfi_offset %r12, -40
929 ; CHECK-AVX2-NEXT: .cfi_offset %r14, -32
930 ; CHECK-AVX2-NEXT: .cfi_offset %r15, -24
931 ; CHECK-AVX2-NEXT: .cfi_offset %rbp, -16
932 ; CHECK-AVX2-NEXT: movq %r8, %r15
933 ; CHECK-AVX2-NEXT: movq %rcx, %r14
934 ; CHECK-AVX2-NEXT: movl %edx, %ebp
935 ; CHECK-AVX2-NEXT: movq %rsi, %r12
936 ; CHECK-AVX2-NEXT: movq %rdi, %rbx
937 ; CHECK-AVX2-NEXT: movl %r9d, 12(%rdi)
938 ; CHECK-AVX2-NEXT: callq bar
939 ; CHECK-AVX2-NEXT: cmpl $18, %ebp
940 ; CHECK-AVX2-NEXT: jl .LBB9_2
941 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
942 ; CHECK-AVX2-NEXT: movl %ebp, 4(%rbx)
943 ; CHECK-AVX2-NEXT: movq %rbx, %rdi
944 ; CHECK-AVX2-NEXT: callq bar
945 ; CHECK-AVX2-NEXT: .LBB9_2: # %if.end
946 ; CHECK-AVX2-NEXT: vmovups (%r15), %xmm0
947 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%r14)
948 ; CHECK-AVX2-NEXT: vmovups (%rbx), %xmm0
949 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%r12)
950 ; CHECK-AVX2-NEXT: popq %rbx
951 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 40
952 ; CHECK-AVX2-NEXT: popq %r12
953 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 32
954 ; CHECK-AVX2-NEXT: popq %r14
955 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 24
956 ; CHECK-AVX2-NEXT: popq %r15
957 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 16
958 ; CHECK-AVX2-NEXT: popq %rbp
959 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 8
960 ; CHECK-AVX2-NEXT: retq
1125 ; CHECK-AVX2-LABEL: test_limit_one_pred:
1126 ; CHECK-AVX2: # %bb.0: # %entry
1127 ; CHECK-AVX2-NEXT: pushq %r15
1128 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 16
1129 ; CHECK-AVX2-NEXT: pushq %r14
1130 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 24
1131 ; CHECK-AVX2-NEXT: pushq %r12
1132 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 32
1133 ; CHECK-AVX2-NEXT: pushq %rbx
1134 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 40
1135 ; CHECK-AVX2-NEXT: pushq %rax
1136 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 48
1137 ; CHECK-AVX2-NEXT: .cfi_offset %rbx, -40
1138 ; CHECK-AVX2-NEXT: .cfi_offset %r12, -32
1139 ; CHECK-AVX2-NEXT: .cfi_offset %r14, -24
1140 ; CHECK-AVX2-NEXT: .cfi_offset %r15, -16
1141 ; CHECK-AVX2-NEXT: movq %r8, %r12
1142 ; CHECK-AVX2-NEXT: movq %rcx, %r15
1143 ; CHECK-AVX2-NEXT: movq %rsi, %r14
1144 ; CHECK-AVX2-NEXT: movq %rdi, %rbx
1145 ; CHECK-AVX2-NEXT: movl %r9d, 12(%rdi)
1146 ; CHECK-AVX2-NEXT: cmpl $18, %edx
1147 ; CHECK-AVX2-NEXT: jl .LBB10_2
1148 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
1149 ; CHECK-AVX2-NEXT: movl %edx, 4(%rbx)
1150 ; CHECK-AVX2-NEXT: movq %rbx, %rdi
1151 ; CHECK-AVX2-NEXT: callq bar
1152 ; CHECK-AVX2-NEXT: .LBB10_2: # %if.end
1153 ; CHECK-AVX2-NEXT: vmovups (%r12), %xmm0
1154 ; CHECK-AVX2-NEXT: vmovups %xmm0, (%r15)
1155 ; CHECK-AVX2-NEXT: movq (%rbx), %rax
1156 ; CHECK-AVX2-NEXT: movq %rax, (%r14)
1157 ; CHECK-AVX2-NEXT: movl 8(%rbx), %eax
1158 ; CHECK-AVX2-NEXT: movl %eax, 8(%r14)
1159 ; CHECK-AVX2-NEXT: movl 12(%rbx), %eax
1160 ; CHECK-AVX2-NEXT: movl %eax, 12(%r14)
1161 ; CHECK-AVX2-NEXT: addq $8, %rsp
1162 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 40
1163 ; CHECK-AVX2-NEXT: popq %rbx
1164 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 32
1165 ; CHECK-AVX2-NEXT: popq %r12
1166 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 24
1167 ; CHECK-AVX2-NEXT: popq %r14
1168 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 16
1169 ; CHECK-AVX2-NEXT: popq %r15
1170 ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 8
1171 ; CHECK-AVX2-NEXT: retq
1288 ; CHECK-AVX2-LABEL: test_conditional_block_float:
1289 ; CHECK-AVX2: # %bb.0: # %entry
1290 ; CHECK-AVX2-NEXT: cmpl $18, %edx
1291 ; CHECK-AVX2-NEXT: jl .LBB11_2
1292 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
1293 ; CHECK-AVX2-NEXT: movl $1065353216, 4(%rdi) # imm = 0x3F800000
1294 ; CHECK-AVX2-NEXT: .LBB11_2: # %if.end
1295 ; CHECK-AVX2-NEXT: vmovups (%r8), %ymm0
1296 ; CHECK-AVX2-NEXT: vmovups %ymm0, (%rcx)
1297 ; CHECK-AVX2-NEXT: movl (%rdi), %eax
1298 ; CHECK-AVX2-NEXT: movl %eax, (%rsi)
1299 ; CHECK-AVX2-NEXT: movl 4(%rdi), %eax
1300 ; CHECK-AVX2-NEXT: movl %eax, 4(%rsi)
1301 ; CHECK-AVX2-NEXT: vmovups 8(%rdi), %xmm0
1302 ; CHECK-AVX2-NEXT: vmovups %xmm0, 8(%rsi)
1303 ; CHECK-AVX2-NEXT: movq 24(%rdi), %rax
1304 ; CHECK-AVX2-NEXT: movq %rax, 24(%rsi)
1305 ; CHECK-AVX2-NEXT: vzeroupper
1306 ; CHECK-AVX2-NEXT: retq
1386 ; CHECK-AVX2-LABEL: test_conditional_block_ymm:
1387 ; CHECK-AVX2: # %bb.0: # %entry
1388 ; CHECK-AVX2-NEXT: cmpl $18, %edx
1389 ; CHECK-AVX2-NEXT: jl .LBB12_2
1390 ; CHECK-AVX2-NEXT: # %bb.1: # %if.then
1391 ; CHECK-AVX2-NEXT: movq $1, 8(%rdi)
1392 ; CHECK-AVX2-NEXT: .LBB12_2: # %if.end
1393 ; CHECK-AVX2-NEXT: vmovups (%r8), %ymm0
1394 ; CHECK-AVX2-NEXT: vmovups %ymm0, (%rcx)
1395 ; CHECK-AVX2-NEXT: movq (%rdi), %rax
1396 ; CHECK-AVX2-NEXT: movq %rax, (%rsi)
1397 ; CHECK-AVX2-NEXT: movq 8(%rdi), %rax
1398 ; CHECK-AVX2-NEXT: movq %rax, 8(%rsi)
1399 ; CHECK-AVX2-NEXT: vmovups 16(%rdi), %xmm0
1400 ; CHECK-AVX2-NEXT: vmovups %xmm0, 16(%rsi)
1401 ; CHECK-AVX2-NEXT: vzeroupper
1402 ; CHECK-AVX2-NEXT: retq
1455 ; CHECK-AVX2-LABEL: test_alias:
1456 ; CHECK-AVX2: # %bb.0: # %entry
1457 ; CHECK-AVX2-NEXT: movl %esi, (%rdi)
1458 ; CHECK-AVX2-NEXT: vmovups (%rdi), %xmm0
1459 ; CHECK-AVX2-NEXT: vmovups %xmm0, 4(%rdi)
1460 ; CHECK-AVX2-NEXT: retq
1496 ; CHECK-AVX2-LABEL: test_noalias:
1497 ; CHECK-AVX2: # %bb.0: # %entry
1498 ; CHECK-AVX2-NEXT: movl %esi, (%rdi)
1499 ; CHECK-AVX2-NEXT: movl (%rdi), %eax
1500 ; CHECK-AVX2-NEXT: movl %eax, 20(%rdi)
1501 ; CHECK-AVX2-NEXT: movq 4(%rdi), %rax
1502 ; CHECK-AVX2-NEXT: movq %rax, 24(%rdi)
1503 ; CHECK-AVX2-NEXT: movl 12(%rdi), %eax
1504 ; CHECK-AVX2-NEXT: movl %eax, 32(%rdi)
1505 ; CHECK-AVX2-NEXT: retq