/external/llvm/test/CodeGen/X86/ |
D | vector-shuffle-512-v8.ll | 2 …ple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F 3 …=i386-unknown-linux-gnu -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32 6 ; AVX512F-LABEL: shuffle_v8f64_00000000: 7 ; AVX512F: # BB#0: 8 ; AVX512F-NEXT: vbroadcastsd %xmm0, %zmm0 9 ; AVX512F-NEXT: retq 11 ; AVX512F-32-LABEL: shuffle_v8f64_00000000: 12 ; AVX512F-32: # BB#0: 13 ; AVX512F-32-NEXT: vbroadcastsd %xmm0, %zmm0 14 ; AVX512F-32-NEXT: retl [all …]
|
D | vector-popcnt-512.ll | 2 …=knl -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX512F 6 ; AVX512F-LABEL: testv8i64: 7 ; AVX512F: ## BB#0: 8 ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm1 9 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,1… 10 ; AVX512F-NEXT: vpand %ymm2, %ymm1, %ymm3 11 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3… 12 ; AVX512F-NEXT: vpshufb %ymm3, %ymm4, %ymm3 13 ; AVX512F-NEXT: vpsrlw $4, %ymm1, %ymm1 14 ; AVX512F-NEXT: vpand %ymm2, %ymm1, %ymm1 [all …]
|
D | vector-shuffle-v1.ll | 2 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F 8 ; AVX512F-LABEL: shuf2i1_1_0: 9 ; AVX512F: # BB#0: 10 ; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 11 ; AVX512F-NEXT: retq 28 ; AVX512F-LABEL: shuf2i1_1_2: 29 ; AVX512F: # BB#0: 30 ; AVX512F-NEXT: movl $1, %eax 31 ; AVX512F-NEXT: vmovq %rax, %xmm1 32 ; AVX512F-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7] [all …]
|
D | masked_memop.ll | 4 …x86_64-apple-darwin -mattr=avx512f < %s | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512F 197 ; AVX512F-LABEL: test5: 198 ; AVX512F: ## BB#0: 199 ; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def> 200 ; AVX512F-NEXT: vpxor %ymm2, %ymm2, %ymm2 201 ; AVX512F-NEXT: vpcmpeqd %zmm2, %zmm0, %k1 202 ; AVX512F-NEXT: vmovupd (%rdi), %zmm1 {%k1} 203 ; AVX512F-NEXT: vmovaps %zmm1, %zmm0 204 ; AVX512F-NEXT: retq 227 ; AVX512F-LABEL: test6: [all …]
|
D | avx512bw-intrinsics.ll | 3 …wn-linux-gnu -mcpu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32 33 ; AVX512F-32-LABEL: test_cmp_b_512: 34 ; AVX512F-32: # BB#0: 35 ; AVX512F-32-NEXT: subl $68, %esp 36 ; AVX512F-32-NEXT: .Ltmp0: 37 ; AVX512F-32-NEXT: .cfi_def_cfa_offset 72 38 ; AVX512F-32-NEXT: vpcmpeqb %zmm1, %zmm0, %k0 39 ; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp) 40 ; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax 41 ; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx [all …]
|
D | merge-consecutive-loads-512.ll | 2 …%s -mtriple=x86_64-unknown -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F 6 …N: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=X32-AVX512F 16 ; X32-AVX512F-LABEL: merge_8f64_2f64_12u4: 17 ; X32-AVX512F: # BB#0: 18 ; X32-AVX512F-NEXT: movl {{[0-9]+}}(%esp), %eax 19 ; X32-AVX512F-NEXT: vmovupd 16(%eax), %ymm0 20 ; X32-AVX512F-NEXT: vinsertf128 $1, 64(%eax), %ymm0, %ymm1 21 ; X32-AVX512F-NEXT: vinsertf64x4 $1, %ymm1, %zmm0, %zmm0 22 ; X32-AVX512F-NEXT: retl 44 ; X32-AVX512F-LABEL: merge_8f64_2f64_23z5: [all …]
|
D | avx512bw-intrinsics-upgrade.ll | 3 …wn-linux-gnu -mcpu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32 15 ; AVX512F-32-LABEL: test_int_x86_avx512_mask_storeu_b_512: 16 ; AVX512F-32: # BB#0: 17 ; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax 18 ; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx 19 ; AVX512F-32-NEXT: kmovq {{[0-9]+}}(%esp), %k1 20 ; AVX512F-32-NEXT: vmovdqu8 %zmm0, (%ecx) {%k1} 21 ; AVX512F-32-NEXT: vmovdqu8 %zmm0, (%eax) 22 ; AVX512F-32-NEXT: retl 38 ; AVX512F-32-LABEL: test_int_x86_avx512_mask_storeu_w_512: [all …]
|
/external/llvm-project/llvm/test/CodeGen/X86/ |
D | vector-shuffle-512-v8.ll | 2 …ple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F 3 …=i386-unknown-linux-gnu -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32 47 ; AVX512F-LABEL: shuffle_v8f64_00000010: 48 ; AVX512F: # %bb.0: 49 ; AVX512F-NEXT: vmovaps {{.*#+}} zmm1 = [0,0,0,0,0,0,1,0] 50 ; AVX512F-NEXT: vpermpd %zmm0, %zmm1, %zmm0 51 ; AVX512F-NEXT: retq 53 ; AVX512F-32-LABEL: shuffle_v8f64_00000010: 54 ; AVX512F-32: # %bb.0: 55 ; AVX512F-32-NEXT: vmovaps {{.*#+}} zmm1 = [0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0] [all …]
|
D | vec-strict-cmp-256.ll | 6 …llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX512F-32 7 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX512F-64 46 ; AVX512F-32-LABEL: test_v8f32_oeq_q: 47 ; AVX512F-32: # %bb.0: 48 ; AVX512F-32-NEXT: pushl %ebp 49 ; AVX512F-32-NEXT: movl %esp, %ebp 50 ; AVX512F-32-NEXT: andl $-32, %esp 51 ; AVX512F-32-NEXT: subl $32, %esp 52 ; AVX512F-32-NEXT: # kill: def $ymm1 killed $ymm1 def $zmm1 53 ; AVX512F-32-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0 [all …]
|
D | avx512vl-vec-test-testn.ll | 4 …64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F --check-prefix=AVX512F-X64 5 …86-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F --check-prefix=AVX512F-X86 16 ; AVX512F-LABEL: TEST_mm_test_epi64_mask: 17 ; AVX512F: # %bb.0: # %entry 18 ; AVX512F-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1 19 ; AVX512F-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0 20 ; AVX512F-NEXT: vptestmq %zmm0, %zmm1, %k0 21 ; AVX512F-NEXT: kshiftlw $14, %k0, %k0 22 ; AVX512F-NEXT: kshiftrw $14, %k0, %k0 23 ; AVX512F-NEXT: kmovw %k0, %eax [all …]
|
D | vector-popcnt-512-ult-ugt.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F 10 ; AVX512F-LABEL: ugt_1_v64i8: 11 ; AVX512F: # %bb.0: 12 ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm1 13 ; AVX512F-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2 14 ; AVX512F-NEXT: vpaddb %ymm2, %ymm1, %ymm3 15 ; AVX512F-NEXT: vpand %ymm3, %ymm1, %ymm1 16 ; AVX512F-NEXT: vpxor %xmm3, %xmm3, %xmm3 17 ; AVX512F-NEXT: vpcmpeqb %ymm3, %ymm1, %ymm1 18 ; AVX512F-NEXT: vpaddb %ymm2, %ymm0, %ymm2 [all …]
|
D | vector-idiv-sdiv-512.ll | 2 …ple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512F 103 ; AVX512F-LABEL: test_div7_32i16: 104 ; AVX512F: # %bb.0: 105 ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm1 106 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [18725,18725,18725,18725,18725,18725,18725,18725,18725,1… 107 ; AVX512F-NEXT: vpmulhw %ymm2, %ymm1, %ymm1 108 ; AVX512F-NEXT: vpsrlw $15, %ymm1, %ymm3 109 ; AVX512F-NEXT: vpsraw $1, %ymm1, %ymm1 110 ; AVX512F-NEXT: vpaddw %ymm3, %ymm1, %ymm1 111 ; AVX512F-NEXT: vpmulhw %ymm2, %ymm0, %ymm0 [all …]
|
D | avx512bw-intrinsics-canonical.ll | 3 …-mtriple=i386-unknown-linux-gnu -mcpu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=AVX512F-32 17 ; AVX512F-32-LABEL: test_mask_adds_epi16_rr_512: 18 ; AVX512F-32: # %bb.0: 19 ; AVX512F-32-NEXT: vpaddsw %zmm1, %zmm0, %zmm0 20 ; AVX512F-32-NEXT: retl 34 ; AVX512F-32-LABEL: test_mask_adds_epi16_rrk_512: 35 ; AVX512F-32: # %bb.0: 36 ; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1 37 ; AVX512F-32-NEXT: vpaddsw %zmm1, %zmm0, %zmm2 {%k1} 38 ; AVX512F-32-NEXT: vmovdqa64 %zmm2, %zmm0 [all …]
|
D | avg-mask.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F 6 ; AVX512F-LABEL: avg_v16i8_mask: 7 ; AVX512F: # %bb.0: 8 ; AVX512F-NEXT: vpavgb %xmm1, %xmm0, %xmm0 9 ; AVX512F-NEXT: kmovw %edi, %k1 10 ; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z} 11 ; AVX512F-NEXT: vpmovdb %zmm1, %xmm1 12 ; AVX512F-NEXT: vpblendvb %xmm1, %xmm0, %xmm2, %xmm0 13 ; AVX512F-NEXT: vzeroupper 14 ; AVX512F-NEXT: retq [all …]
|
D | pr34177.ll | 2 ; RUN: llc < %s -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F 9 ; AVX512F-LABEL: test: 10 ; AVX512F: # %bb.0: 11 ; AVX512F-NEXT: vmovq %xmm0, %rax 12 ; AVX512F-NEXT: vpextrq $1, %xmm0, %rcx 13 ; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0 14 ; AVX512F-NEXT: vmovq %xmm0, %rdx 15 ; AVX512F-NEXT: vpextrq $1, %xmm0, %rsi 16 ; AVX512F-NEXT: cmpq $3, %rsi 17 ; AVX512F-NEXT: fld1 [all …]
|
D | vec-strict-cmp-128.ll | 8 …c < %s -mtriple=i686-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefixes=AVX512F-32 9 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefixes=AVX512F-64 70 ; AVX512F-32-LABEL: test_v4f32_oeq_q: 71 ; AVX512F-32: # %bb.0: 72 ; AVX512F-32-NEXT: pushl %ebp 73 ; AVX512F-32-NEXT: movl %esp, %ebp 74 ; AVX512F-32-NEXT: andl $-16, %esp 75 ; AVX512F-32-NEXT: subl $16, %esp 76 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1 77 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0 [all …]
|
D | vector-shuffle-v1.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F 7 ; AVX512F-LABEL: shuf2i1_1_0: 8 ; AVX512F: # %bb.0: 9 ; AVX512F-NEXT: vpsllq $63, %xmm0, %xmm0 10 ; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k1 11 ; AVX512F-NEXT: vpternlogq $255, %zmm0, %zmm0, %zmm0 {%k1} {z} 12 ; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 13 ; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k1 14 ; AVX512F-NEXT: vpternlogq $255, %zmm0, %zmm0, %zmm0 {%k1} {z} 15 ; AVX512F-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0 [all …]
|
D | var-permute-512.ll | 2 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512,AVX512F 95 ; AVX512F-LABEL: var_shuffle_v32i16: 96 ; AVX512F: # %bb.0: 97 ; AVX512F-NEXT: pushq %rbp 98 ; AVX512F-NEXT: movq %rsp, %rbp 99 ; AVX512F-NEXT: andq $-64, %rsp 100 ; AVX512F-NEXT: subq $128, %rsp 101 ; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 102 ; AVX512F-NEXT: vextracti32x4 $2, %zmm1, %xmm3 103 ; AVX512F-NEXT: vextracti32x4 $3, %zmm1, %xmm4 [all …]
|
D | vec-strict-cmp-sub128.ll | 8 …e=i686-unknown-unknown -mattr=+avx512f -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX512F-32 9 …x86_64-unknown-unknown -mattr=+avx512f -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX512F-64 137 ; AVX512F-32-LABEL: test_v2f32_ogt_s: 138 ; AVX512F-32: # %bb.0: 139 ; AVX512F-32-NEXT: pushl %ebp 140 ; AVX512F-32-NEXT: movl %esp, %ebp 141 ; AVX512F-32-NEXT: andl $-16, %esp 142 ; AVX512F-32-NEXT: subl $16, %esp 143 ; AVX512F-32-NEXT: # kill: def $xmm1 killed $xmm1 def $zmm1 144 ; AVX512F-32-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0 [all …]
|
D | avx512-select.ll | 2 …c < %s -mtriple=i686-unknown-unknown -mattr=avx512f | FileCheck %s --check-prefixes=X86,X86-AVX512F 3 …< %s -mtriple=x86_64-unknown-unknown -mattr=avx512f | FileCheck %s --check-prefixes=X64,X64-AVX512F 152 ; X86-AVX512F-LABEL: select05_mem: 153 ; X86-AVX512F: # %bb.0: 154 ; X86-AVX512F-NEXT: movl {{[0-9]+}}(%esp), %eax 155 ; X86-AVX512F-NEXT: movl {{[0-9]+}}(%esp), %ecx 156 ; X86-AVX512F-NEXT: kmovw (%ecx), %k0 157 ; X86-AVX512F-NEXT: kmovw (%eax), %k1 158 ; X86-AVX512F-NEXT: korw %k1, %k0, %k0 159 ; X86-AVX512F-NEXT: kmovw %k0, %eax [all …]
|
D | vector-popcnt-512.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F 9 ; AVX512F-LABEL: testv8i64: 10 ; AVX512F: # %bb.0: 11 ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm1 12 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,1… 13 ; AVX512F-NEXT: vpand %ymm2, %ymm1, %ymm3 14 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3… 15 ; AVX512F-NEXT: vpshufb %ymm3, %ymm4, %ymm3 16 ; AVX512F-NEXT: vpsrlw $4, %ymm1, %ymm1 17 ; AVX512F-NEXT: vpand %ymm2, %ymm1, %ymm1 [all …]
|
D | vec-strict-fptoint-256.ll | 4 …e=i686-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefixes=CHECK,AVX512F,AVX512F-32 5 …x86_64-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefixes=CHECK,AVX512F,AVX512F-64 93 ; AVX512F-32-LABEL: strict_vector_fptosi_v4f64_to_v4i64: 94 ; AVX512F-32: # %bb.0: 95 ; AVX512F-32-NEXT: pushl %ebp 96 ; AVX512F-32-NEXT: .cfi_def_cfa_offset 8 97 ; AVX512F-32-NEXT: .cfi_offset %ebp, -8 98 ; AVX512F-32-NEXT: movl %esp, %ebp 99 ; AVX512F-32-NEXT: .cfi_def_cfa_register %ebp 100 ; AVX512F-32-NEXT: andl $-8, %esp [all …]
|
D | vector-idiv-udiv-512.ll | 2 …ple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512F 104 ; AVX512F-LABEL: test_div7_32i16: 105 ; AVX512F: # %bb.0: 106 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm1 = [9363,9363,9363,9363,9363,9363,9363,9363,9363,9363,9363,… 107 ; AVX512F-NEXT: vpmulhuw %ymm1, %ymm0, %ymm2 108 ; AVX512F-NEXT: vpsubw %ymm2, %ymm0, %ymm3 109 ; AVX512F-NEXT: vpsrlw $1, %ymm3, %ymm3 110 ; AVX512F-NEXT: vpaddw %ymm2, %ymm3, %ymm2 111 ; AVX512F-NEXT: vpsrlw $2, %ymm2, %ymm2 112 ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm0 [all …]
|
D | bitcast-setcc-128.ll | 6 … %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512vl | FileCheck %s --check-prefix=AVX512F 26 ; AVX512F-LABEL: v8i16: 27 ; AVX512F: # %bb.0: 28 ; AVX512F-NEXT: vpcmpgtw %xmm1, %xmm0, %xmm0 29 ; AVX512F-NEXT: vpmovsxwd %xmm0, %ymm0 30 ; AVX512F-NEXT: vptestmd %ymm0, %ymm0, %k0 31 ; AVX512F-NEXT: kmovw %k0, %eax 32 ; AVX512F-NEXT: # kill: def $al killed $al killed $eax 33 ; AVX512F-NEXT: vzeroupper 34 ; AVX512F-NEXT: retq [all …]
|
D | merge-consecutive-loads-512.ll | 6 …N: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=X86-AVX512F 16 ; X86-AVX512F-LABEL: merge_8f64_2f64_12u4: 17 ; X86-AVX512F: # %bb.0: 18 ; X86-AVX512F-NEXT: movl {{[0-9]+}}(%esp), %eax 19 ; X86-AVX512F-NEXT: vmovups 16(%eax), %ymm0 20 ; X86-AVX512F-NEXT: vinsertf128 $1, 64(%eax), %ymm0, %ymm1 21 ; X86-AVX512F-NEXT: vinsertf64x4 $1, %ymm1, %zmm0, %zmm0 22 ; X86-AVX512F-NEXT: retl 44 ; X86-AVX512F-LABEL: merge_8f64_2f64_23z5: 45 ; X86-AVX512F: # %bb.0: [all …]
|