Lines Matching refs:AVX512

5 … %s -mtriple=x86_64-linux -mcpu=skx -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-AVX512
61 ; CHECK-AVX512-LABEL: test_conditional_block:
62 ; CHECK-AVX512: # %bb.0: # %entry
63 ; CHECK-AVX512-NEXT: cmpl $18, %edx
64 ; CHECK-AVX512-NEXT: jl .LBB0_2
65 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
66 ; CHECK-AVX512-NEXT: movl %edx, 4(%rdi)
67 ; CHECK-AVX512-NEXT: .LBB0_2: # %if.end
68 ; CHECK-AVX512-NEXT: vmovups (%r8), %xmm0
69 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%rcx)
70 ; CHECK-AVX512-NEXT: movl (%rdi), %eax
71 ; CHECK-AVX512-NEXT: movl %eax, (%rsi)
72 ; CHECK-AVX512-NEXT: movl 4(%rdi), %eax
73 ; CHECK-AVX512-NEXT: movl %eax, 4(%rsi)
74 ; CHECK-AVX512-NEXT: movq 8(%rdi), %rax
75 ; CHECK-AVX512-NEXT: movq %rax, 8(%rsi)
76 ; CHECK-AVX512-NEXT: retq
130 ; CHECK-AVX512-LABEL: test_imm_store:
131 ; CHECK-AVX512: # %bb.0: # %entry
132 ; CHECK-AVX512-NEXT: movl $0, (%rdi)
133 ; CHECK-AVX512-NEXT: movl $1, (%rcx)
134 ; CHECK-AVX512-NEXT: movl (%rdi), %eax
135 ; CHECK-AVX512-NEXT: movl %eax, (%rsi)
136 ; CHECK-AVX512-NEXT: movq 4(%rdi), %rax
137 ; CHECK-AVX512-NEXT: movq %rax, 4(%rsi)
138 ; CHECK-AVX512-NEXT: movl 12(%rdi), %eax
139 ; CHECK-AVX512-NEXT: movl %eax, 12(%rsi)
140 ; CHECK-AVX512-NEXT: retq
216 ; CHECK-AVX512-LABEL: test_nondirect_br:
217 ; CHECK-AVX512: # %bb.0: # %entry
218 ; CHECK-AVX512-NEXT: cmpl $18, %edx
219 ; CHECK-AVX512-NEXT: jl .LBB2_2
220 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
221 ; CHECK-AVX512-NEXT: movl %edx, 4(%rdi)
222 ; CHECK-AVX512-NEXT: .LBB2_2: # %if.end
223 ; CHECK-AVX512-NEXT: cmpl $14, %r9d
224 ; CHECK-AVX512-NEXT: jl .LBB2_4
225 ; CHECK-AVX512-NEXT: # %bb.3: # %if.then2
226 ; CHECK-AVX512-NEXT: movl %r9d, 12(%rdi)
227 ; CHECK-AVX512-NEXT: .LBB2_4: # %if.end3
228 ; CHECK-AVX512-NEXT: vmovups (%r8), %xmm0
229 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%rcx)
230 ; CHECK-AVX512-NEXT: movq (%rdi), %rax
231 ; CHECK-AVX512-NEXT: movq %rax, (%rsi)
232 ; CHECK-AVX512-NEXT: movl 8(%rdi), %eax
233 ; CHECK-AVX512-NEXT: movl %eax, 8(%rsi)
234 ; CHECK-AVX512-NEXT: movl 12(%rdi), %eax
235 ; CHECK-AVX512-NEXT: movl %eax, 12(%rsi)
236 ; CHECK-AVX512-NEXT: retq
321 ; CHECK-AVX512-LABEL: test_2preds_block:
322 ; CHECK-AVX512: # %bb.0: # %entry
323 ; CHECK-AVX512-NEXT: movl %r9d, 12(%rdi)
324 ; CHECK-AVX512-NEXT: cmpl $18, %edx
325 ; CHECK-AVX512-NEXT: jl .LBB3_2
326 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
327 ; CHECK-AVX512-NEXT: movl %edx, 4(%rdi)
328 ; CHECK-AVX512-NEXT: .LBB3_2: # %if.end
329 ; CHECK-AVX512-NEXT: vmovups (%r8), %xmm0
330 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%rcx)
331 ; CHECK-AVX512-NEXT: movl (%rdi), %eax
332 ; CHECK-AVX512-NEXT: movl %eax, (%rsi)
333 ; CHECK-AVX512-NEXT: movl 4(%rdi), %eax
334 ; CHECK-AVX512-NEXT: movl %eax, 4(%rsi)
335 ; CHECK-AVX512-NEXT: movl 8(%rdi), %eax
336 ; CHECK-AVX512-NEXT: movl %eax, 8(%rsi)
337 ; CHECK-AVX512-NEXT: movl 12(%rdi), %eax
338 ; CHECK-AVX512-NEXT: movl %eax, 12(%rsi)
339 ; CHECK-AVX512-NEXT: retq
410 ; CHECK-AVX512-LABEL: test_type64:
411 ; CHECK-AVX512: # %bb.0: # %entry
412 ; CHECK-AVX512-NEXT: cmpl $18, %edx
413 ; CHECK-AVX512-NEXT: jl .LBB4_2
414 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
415 ; CHECK-AVX512-NEXT: movslq %edx, %rax
416 ; CHECK-AVX512-NEXT: movq %rax, 8(%rdi)
417 ; CHECK-AVX512-NEXT: .LBB4_2: # %if.end
418 ; CHECK-AVX512-NEXT: vmovups (%r8), %xmm0
419 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%rcx)
420 ; CHECK-AVX512-NEXT: movq (%rdi), %rax
421 ; CHECK-AVX512-NEXT: movq %rax, (%rsi)
422 ; CHECK-AVX512-NEXT: movq 8(%rdi), %rax
423 ; CHECK-AVX512-NEXT: movq %rax, 8(%rsi)
424 ; CHECK-AVX512-NEXT: retq
503 ; CHECK-AVX512-LABEL: test_mixed_type:
504 ; CHECK-AVX512: # %bb.0: # %entry
505 ; CHECK-AVX512-NEXT: cmpl $18, %edx
506 ; CHECK-AVX512-NEXT: jl .LBB5_2
507 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
508 ; CHECK-AVX512-NEXT: movslq %edx, %rax
509 ; CHECK-AVX512-NEXT: movq %rax, (%rdi)
510 ; CHECK-AVX512-NEXT: movb %dl, 8(%rdi)
511 ; CHECK-AVX512-NEXT: .LBB5_2: # %if.end
512 ; CHECK-AVX512-NEXT: movq (%rdi), %rax
513 ; CHECK-AVX512-NEXT: movq %rax, (%rsi)
514 ; CHECK-AVX512-NEXT: movb 8(%rdi), %al
515 ; CHECK-AVX512-NEXT: movb %al, 8(%rsi)
516 ; CHECK-AVX512-NEXT: movl 9(%rdi), %eax
517 ; CHECK-AVX512-NEXT: movl %eax, 9(%rsi)
518 ; CHECK-AVX512-NEXT: movzwl 13(%rdi), %eax
519 ; CHECK-AVX512-NEXT: movw %ax, 13(%rsi)
520 ; CHECK-AVX512-NEXT: movb 15(%rdi), %al
521 ; CHECK-AVX512-NEXT: movb %al, 15(%rsi)
522 ; CHECK-AVX512-NEXT: retq
600 ; CHECK-AVX512-LABEL: test_multiple_blocks:
601 ; CHECK-AVX512: # %bb.0: # %entry
602 ; CHECK-AVX512-NEXT: movl $0, 4(%rdi)
603 ; CHECK-AVX512-NEXT: movl $0, 36(%rdi)
604 ; CHECK-AVX512-NEXT: vmovups 16(%rdi), %xmm0
605 ; CHECK-AVX512-NEXT: vmovups %xmm0, 16(%rsi)
606 ; CHECK-AVX512-NEXT: movl 32(%rdi), %eax
607 ; CHECK-AVX512-NEXT: movl %eax, 32(%rsi)
608 ; CHECK-AVX512-NEXT: movl 36(%rdi), %eax
609 ; CHECK-AVX512-NEXT: movl %eax, 36(%rsi)
610 ; CHECK-AVX512-NEXT: movq 40(%rdi), %rax
611 ; CHECK-AVX512-NEXT: movq %rax, 40(%rsi)
612 ; CHECK-AVX512-NEXT: movl (%rdi), %eax
613 ; CHECK-AVX512-NEXT: movl %eax, (%rsi)
614 ; CHECK-AVX512-NEXT: movl 4(%rdi), %eax
615 ; CHECK-AVX512-NEXT: movl %eax, 4(%rsi)
616 ; CHECK-AVX512-NEXT: vmovups 8(%rdi), %xmm0
617 ; CHECK-AVX512-NEXT: vmovups %xmm0, 8(%rsi)
618 ; CHECK-AVX512-NEXT: movq 24(%rdi), %rax
619 ; CHECK-AVX512-NEXT: movq %rax, 24(%rsi)
620 ; CHECK-AVX512-NEXT: retq
686 ; CHECK-AVX512-LABEL: test_type16:
687 ; CHECK-AVX512: # %bb.0: # %entry
688 ; CHECK-AVX512-NEXT: cmpl $18, %edx
689 ; CHECK-AVX512-NEXT: jl .LBB7_2
690 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
691 ; CHECK-AVX512-NEXT: movw %dx, 2(%rdi)
692 ; CHECK-AVX512-NEXT: .LBB7_2: # %if.end
693 ; CHECK-AVX512-NEXT: vmovups (%r8), %xmm0
694 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%rcx)
695 ; CHECK-AVX512-NEXT: movzwl (%rdi), %eax
696 ; CHECK-AVX512-NEXT: movw %ax, (%rsi)
697 ; CHECK-AVX512-NEXT: movzwl 2(%rdi), %eax
698 ; CHECK-AVX512-NEXT: movw %ax, 2(%rsi)
699 ; CHECK-AVX512-NEXT: movq 4(%rdi), %rax
700 ; CHECK-AVX512-NEXT: movq %rax, 4(%rsi)
701 ; CHECK-AVX512-NEXT: movl 12(%rdi), %eax
702 ; CHECK-AVX512-NEXT: movl %eax, 12(%rsi)
703 ; CHECK-AVX512-NEXT: retq
786 ; CHECK-AVX512-LABEL: test_stack:
787 ; CHECK-AVX512: # %bb.0: # %entry
788 ; CHECK-AVX512-NEXT: movq %rdi, %rax
789 ; CHECK-AVX512-NEXT: movl %esi, {{[0-9]+}}(%rsp)
790 ; CHECK-AVX512-NEXT: vmovups {{[0-9]+}}(%rsp), %xmm0
791 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%rdi)
792 ; CHECK-AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
793 ; CHECK-AVX512-NEXT: movq %rcx, 16(%rdi)
794 ; CHECK-AVX512-NEXT: movl {{[0-9]+}}(%rsp), %ecx
795 ; CHECK-AVX512-NEXT: movl %ecx, 24(%rdi)
796 ; CHECK-AVX512-NEXT: movl {{[0-9]+}}(%rsp), %ecx
797 ; CHECK-AVX512-NEXT: movl %ecx, 28(%rdi)
798 ; CHECK-AVX512-NEXT: vmovups {{[0-9]+}}(%rsp), %xmm0
799 ; CHECK-AVX512-NEXT: vmovups %xmm0, {{[0-9]+}}(%rsp)
800 ; CHECK-AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
801 ; CHECK-AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
802 ; CHECK-AVX512-NEXT: movl {{[0-9]+}}(%rsp), %ecx
803 ; CHECK-AVX512-NEXT: movl %ecx, {{[0-9]+}}(%rsp)
804 ; CHECK-AVX512-NEXT: movl {{[0-9]+}}(%rsp), %ecx
805 ; CHECK-AVX512-NEXT: movl %ecx, {{[0-9]+}}(%rsp)
806 ; CHECK-AVX512-NEXT: retq
962 ; CHECK-AVX512-LABEL: test_limit_all:
963 ; CHECK-AVX512: # %bb.0: # %entry
964 ; CHECK-AVX512-NEXT: pushq %rbp
965 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 16
966 ; CHECK-AVX512-NEXT: pushq %r15
967 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 24
968 ; CHECK-AVX512-NEXT: pushq %r14
969 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 32
970 ; CHECK-AVX512-NEXT: pushq %r12
971 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 40
972 ; CHECK-AVX512-NEXT: pushq %rbx
973 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 48
974 ; CHECK-AVX512-NEXT: .cfi_offset %rbx, -48
975 ; CHECK-AVX512-NEXT: .cfi_offset %r12, -40
976 ; CHECK-AVX512-NEXT: .cfi_offset %r14, -32
977 ; CHECK-AVX512-NEXT: .cfi_offset %r15, -24
978 ; CHECK-AVX512-NEXT: .cfi_offset %rbp, -16
979 ; CHECK-AVX512-NEXT: movq %r8, %r15
980 ; CHECK-AVX512-NEXT: movq %rcx, %r14
981 ; CHECK-AVX512-NEXT: movl %edx, %ebp
982 ; CHECK-AVX512-NEXT: movq %rsi, %r12
983 ; CHECK-AVX512-NEXT: movq %rdi, %rbx
984 ; CHECK-AVX512-NEXT: movl %r9d, 12(%rdi)
985 ; CHECK-AVX512-NEXT: callq bar
986 ; CHECK-AVX512-NEXT: cmpl $18, %ebp
987 ; CHECK-AVX512-NEXT: jl .LBB9_2
988 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
989 ; CHECK-AVX512-NEXT: movl %ebp, 4(%rbx)
990 ; CHECK-AVX512-NEXT: movq %rbx, %rdi
991 ; CHECK-AVX512-NEXT: callq bar
992 ; CHECK-AVX512-NEXT: .LBB9_2: # %if.end
993 ; CHECK-AVX512-NEXT: vmovups (%r15), %xmm0
994 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%r14)
995 ; CHECK-AVX512-NEXT: vmovups (%rbx), %xmm0
996 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%r12)
997 ; CHECK-AVX512-NEXT: popq %rbx
998 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 40
999 ; CHECK-AVX512-NEXT: popq %r12
1000 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 32
1001 ; CHECK-AVX512-NEXT: popq %r14
1002 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 24
1003 ; CHECK-AVX512-NEXT: popq %r15
1004 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 16
1005 ; CHECK-AVX512-NEXT: popq %rbp
1006 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 8
1007 ; CHECK-AVX512-NEXT: retq
1173 ; CHECK-AVX512-LABEL: test_limit_one_pred:
1174 ; CHECK-AVX512: # %bb.0: # %entry
1175 ; CHECK-AVX512-NEXT: pushq %r15
1176 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 16
1177 ; CHECK-AVX512-NEXT: pushq %r14
1178 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 24
1179 ; CHECK-AVX512-NEXT: pushq %r12
1180 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 32
1181 ; CHECK-AVX512-NEXT: pushq %rbx
1182 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 40
1183 ; CHECK-AVX512-NEXT: pushq %rax
1184 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 48
1185 ; CHECK-AVX512-NEXT: .cfi_offset %rbx, -40
1186 ; CHECK-AVX512-NEXT: .cfi_offset %r12, -32
1187 ; CHECK-AVX512-NEXT: .cfi_offset %r14, -24
1188 ; CHECK-AVX512-NEXT: .cfi_offset %r15, -16
1189 ; CHECK-AVX512-NEXT: movq %r8, %r12
1190 ; CHECK-AVX512-NEXT: movq %rcx, %r15
1191 ; CHECK-AVX512-NEXT: movq %rsi, %r14
1192 ; CHECK-AVX512-NEXT: movq %rdi, %rbx
1193 ; CHECK-AVX512-NEXT: movl %r9d, 12(%rdi)
1194 ; CHECK-AVX512-NEXT: cmpl $18, %edx
1195 ; CHECK-AVX512-NEXT: jl .LBB10_2
1196 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
1197 ; CHECK-AVX512-NEXT: movl %edx, 4(%rbx)
1198 ; CHECK-AVX512-NEXT: movq %rbx, %rdi
1199 ; CHECK-AVX512-NEXT: callq bar
1200 ; CHECK-AVX512-NEXT: .LBB10_2: # %if.end
1201 ; CHECK-AVX512-NEXT: vmovups (%r12), %xmm0
1202 ; CHECK-AVX512-NEXT: vmovups %xmm0, (%r15)
1203 ; CHECK-AVX512-NEXT: movq (%rbx), %rax
1204 ; CHECK-AVX512-NEXT: movq %rax, (%r14)
1205 ; CHECK-AVX512-NEXT: movl 8(%rbx), %eax
1206 ; CHECK-AVX512-NEXT: movl %eax, 8(%r14)
1207 ; CHECK-AVX512-NEXT: movl 12(%rbx), %eax
1208 ; CHECK-AVX512-NEXT: movl %eax, 12(%r14)
1209 ; CHECK-AVX512-NEXT: addq $8, %rsp
1210 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 40
1211 ; CHECK-AVX512-NEXT: popq %rbx
1212 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 32
1213 ; CHECK-AVX512-NEXT: popq %r12
1214 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 24
1215 ; CHECK-AVX512-NEXT: popq %r14
1216 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 16
1217 ; CHECK-AVX512-NEXT: popq %r15
1218 ; CHECK-AVX512-NEXT: .cfi_def_cfa_offset 8
1219 ; CHECK-AVX512-NEXT: retq
1308 ; CHECK-AVX512-LABEL: test_conditional_block_float:
1309 ; CHECK-AVX512: # %bb.0: # %entry
1310 ; CHECK-AVX512-NEXT: cmpl $18, %edx
1311 ; CHECK-AVX512-NEXT: jl .LBB11_2
1312 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
1313 ; CHECK-AVX512-NEXT: movl $1065353216, 4(%rdi) # imm = 0x3F800000
1314 ; CHECK-AVX512-NEXT: .LBB11_2: # %if.end
1315 ; CHECK-AVX512-NEXT: vmovups (%r8), %ymm0
1316 ; CHECK-AVX512-NEXT: vmovups %ymm0, (%rcx)
1317 ; CHECK-AVX512-NEXT: movl (%rdi), %eax
1318 ; CHECK-AVX512-NEXT: movl %eax, (%rsi)
1319 ; CHECK-AVX512-NEXT: movl 4(%rdi), %eax
1320 ; CHECK-AVX512-NEXT: movl %eax, 4(%rsi)
1321 ; CHECK-AVX512-NEXT: vmovups 8(%rdi), %xmm0
1322 ; CHECK-AVX512-NEXT: vmovups %xmm0, 8(%rsi)
1323 ; CHECK-AVX512-NEXT: movq 24(%rdi), %rax
1324 ; CHECK-AVX512-NEXT: movq %rax, 24(%rsi)
1325 ; CHECK-AVX512-NEXT: vzeroupper
1326 ; CHECK-AVX512-NEXT: retq
1404 ; CHECK-AVX512-LABEL: test_conditional_block_ymm:
1405 ; CHECK-AVX512: # %bb.0: # %entry
1406 ; CHECK-AVX512-NEXT: cmpl $18, %edx
1407 ; CHECK-AVX512-NEXT: jl .LBB12_2
1408 ; CHECK-AVX512-NEXT: # %bb.1: # %if.then
1409 ; CHECK-AVX512-NEXT: movq $1, 8(%rdi)
1410 ; CHECK-AVX512-NEXT: .LBB12_2: # %if.end
1411 ; CHECK-AVX512-NEXT: vmovups (%r8), %ymm0
1412 ; CHECK-AVX512-NEXT: vmovups %ymm0, (%rcx)
1413 ; CHECK-AVX512-NEXT: movq (%rdi), %rax
1414 ; CHECK-AVX512-NEXT: movq %rax, (%rsi)
1415 ; CHECK-AVX512-NEXT: movq 8(%rdi), %rax
1416 ; CHECK-AVX512-NEXT: movq %rax, 8(%rsi)
1417 ; CHECK-AVX512-NEXT: vmovups 16(%rdi), %xmm0
1418 ; CHECK-AVX512-NEXT: vmovups %xmm0, 16(%rsi)
1419 ; CHECK-AVX512-NEXT: vzeroupper
1420 ; CHECK-AVX512-NEXT: retq
1462 ; CHECK-AVX512-LABEL: test_alias:
1463 ; CHECK-AVX512: # %bb.0: # %entry
1464 ; CHECK-AVX512-NEXT: movl %esi, (%rdi)
1465 ; CHECK-AVX512-NEXT: vmovups (%rdi), %xmm0
1466 ; CHECK-AVX512-NEXT: vmovups %xmm0, 4(%rdi)
1467 ; CHECK-AVX512-NEXT: retq
1507 ; CHECK-AVX512-LABEL: test_noalias:
1508 ; CHECK-AVX512: # %bb.0: # %entry
1509 ; CHECK-AVX512-NEXT: movl %esi, (%rdi)
1510 ; CHECK-AVX512-NEXT: movl (%rdi), %eax
1511 ; CHECK-AVX512-NEXT: movl %eax, 20(%rdi)
1512 ; CHECK-AVX512-NEXT: movq 4(%rdi), %rax
1513 ; CHECK-AVX512-NEXT: movq %rax, 24(%rdi)
1514 ; CHECK-AVX512-NEXT: movl 12(%rdi), %eax
1515 ; CHECK-AVX512-NEXT: movl %eax, 32(%rdi)
1516 ; CHECK-AVX512-NEXT: retq