/external/llvm-project/llvm/test/CodeGen/X86/ |
D | avx512-load-trunc-store-i1.ll | 2 …-unknown -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq -O2 | FileCheck %s --check-prefix=AVX512-ALL 3 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f -O2| FileCheck %s --check-prefix=AVX512-ONLY 6 ; AVX512-ALL-LABEL: load_v1i2_trunc_v1i1_store: 7 ; AVX512-ALL: # %bb.0: 8 ; AVX512-ALL-NEXT: kmovb (%rdi), %k0 9 ; AVX512-ALL-NEXT: kshiftlb $7, %k0, %k0 10 ; AVX512-ALL-NEXT: kshiftrb $7, %k0, %k0 11 ; AVX512-ALL-NEXT: kmovb %k0, (%rsi) 12 ; AVX512-ALL-NEXT: retq 14 ; AVX512-ONLY-LABEL: load_v1i2_trunc_v1i1_store: [all …]
|
D | fast-isel-select-pseudo-cmov.ll | 6 … -verify-machineinstrs | FileCheck %s --check-prefix=CHECK --check-prefixes=ISEL,AVX512,AVX512-ISEL 7 …-machineinstrs | FileCheck %s --check-prefix=CHECK --check-prefixes=FASTISEL,AVX512,AVX512-FASTISEL 27 ; AVX512-LABEL: select_fcmp_one_f32: 28 ; AVX512: ## %bb.0: 29 ; AVX512-NEXT: vcmpneq_oqss %xmm1, %xmm0, %k1 30 ; AVX512-NEXT: vmovss %xmm2, %xmm3, %xmm3 {%k1} 31 ; AVX512-NEXT: vmovaps %xmm3, %xmm0 32 ; AVX512-NEXT: retq 55 ; AVX512-LABEL: select_fcmp_one_f64: 56 ; AVX512: ## %bb.0: [all …]
|
D | avx512-extract-subvector-load-store.ll | 2 …x512f,+avx512bw,+avx512vl,+avx512dq,+fast-variable-shuffle -O2 | FileCheck %s --check-prefix=AVX512 6 ; AVX512-LABEL: load_v8i1_broadcast_4_v2i1: 7 ; AVX512: # %bb.0: 8 ; AVX512-NEXT: kmovb (%rdi), %k0 9 ; AVX512-NEXT: kshiftrb $4, %k0, %k0 10 ; AVX512-NEXT: vpmovm2q %k0, %xmm2 11 ; AVX512-NEXT: vpbroadcastq %xmm2, %xmm2 12 ; AVX512-NEXT: vpmovq2m %xmm2, %k1 13 ; AVX512-NEXT: vmovapd %xmm0, %xmm1 {%k1} 14 ; AVX512-NEXT: vmovapd %xmm1, (%rsi) [all …]
|
D | vector-reduce-fmax-nnan.ll | 6 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 7 …ple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 33 ; AVX512-LABEL: test_v2f32: 34 ; AVX512: # %bb.0: 35 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 36 ; AVX512-NEXT: vmaxss %xmm1, %xmm0, %xmm0 37 ; AVX512-NEXT: retq 78 ; AVX512-LABEL: test_v4f32: 79 ; AVX512: # %bb.0: 80 ; AVX512-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[3,3,3,3] [all …]
|
D | vector-reduce-fmin-nnan.ll | 6 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 7 …ple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 41 ; AVX512-LABEL: test_v2f32: 42 ; AVX512: # %bb.0: 43 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 44 ; AVX512-NEXT: vminss %xmm1, %xmm0, %xmm0 45 ; AVX512-NEXT: retq 80 ; AVX512-LABEL: test_v3f32: 81 ; AVX512: # %bb.0: 82 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] [all …]
|
D | vector-reduce-fmul.ll | 6 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 7 …ple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 35 ; AVX512-LABEL: test_v2f32: 36 ; AVX512: # %bb.0: 37 ; AVX512-NEXT: vmulss %xmm1, %xmm0, %xmm0 38 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm1[1,1,3,3] 39 ; AVX512-NEXT: vmulss %xmm1, %xmm0, %xmm0 40 ; AVX512-NEXT: retq 82 ; AVX512-LABEL: test_v4f32: 83 ; AVX512: # %bb.0: [all …]
|
D | vec-strict-cmp-256.ll | 4 …e=i686-unknown-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefix=AVX512-32 5 …x86_64-unknown-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefix=AVX512-64 28 ; AVX512-32-LABEL: test_v8f32_oeq_q: 29 ; AVX512-32: # %bb.0: 30 ; AVX512-32-NEXT: pushl %ebp 31 ; AVX512-32-NEXT: movl %esp, %ebp 32 ; AVX512-32-NEXT: andl $-32, %esp 33 ; AVX512-32-NEXT: subl $32, %esp 34 ; AVX512-32-NEXT: vcmpeqps 8(%ebp), %ymm2, %k1 35 ; AVX512-32-NEXT: vpblendmd %ymm0, %ymm1, %ymm0 {%k1} [all …]
|
D | nontemporal-3.ll | 7 … %s -mtriple=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefix=AVX512 8 … %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 29 ; AVX512-LABEL: test_zero_v2f64_align1: 30 ; AVX512: # %bb.0: 31 ; AVX512-NEXT: xorl %eax, %eax 32 ; AVX512-NEXT: movntiq %rax, 8(%rdi) 33 ; AVX512-NEXT: movntiq %rax, (%rdi) 34 ; AVX512-NEXT: retq 54 ; AVX512-LABEL: test_zero_v4f32_align1: 55 ; AVX512: # %bb.0: [all …]
|
D | vector-reduce-fmul-fast.ll | 6 … < %s -mtriple=x86_64-- -mcpu=x86-64 -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 7 …iple=x86_64-- -mcpu=x86-64 -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 36 ; AVX512-LABEL: test_v2f32: 37 ; AVX512: # %bb.0: 38 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm2 = xmm1[1,1,3,3] 39 ; AVX512-NEXT: vmulss %xmm2, %xmm1, %xmm1 40 ; AVX512-NEXT: vmulss %xmm1, %xmm0, %xmm0 41 ; AVX512-NEXT: retq 77 ; AVX512-LABEL: test_v4f32: 78 ; AVX512: # %bb.0: [all …]
|
D | fma_patterns.ll | 5 …own -mattr=+avx512dq,+avx512vl -fp-contract=fast | FileCheck %s --check-prefixes=AVX512,AVX512-INFS 9 …12vl -fp-contract=fast -enable-no-infs-fp-math | FileCheck %s --check-prefixes=AVX512,AVX512-NOINFS 26 ; AVX512-LABEL: test_f32_fmadd: 27 ; AVX512: # %bb.0: 28 ; AVX512-NEXT: vfmadd213ss {{.*#+}} xmm0 = (xmm1 * xmm0) + xmm2 29 ; AVX512-NEXT: retq 46 ; AVX512-LABEL: test_4f32_fmadd: 47 ; AVX512: # %bb.0: 48 ; AVX512-NEXT: vfmadd213ps {{.*#+}} xmm0 = (xmm1 * xmm0) + xmm2 49 ; AVX512-NEXT: retq [all …]
|
D | subvector-broadcast.ll | 4 … < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512 5 …iple=i686-unknown-unknown -mattr=+avx512bw,+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512 6 …iple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512 9 … %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512 10 …le=x86_64-unknown-unknown -mattr=+avx512bw,+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512 11 …le=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512 41 ; X86-AVX512-LABEL: test_broadcast_2f64_8f64: 42 ; X86-AVX512: # %bb.0: 43 ; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax 44 ; X86-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3] [all …]
|
D | avx512-scalar.ll | 2 …-darwin -mcpu=knl --show-mc-encoding | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512-KNL 3 …-darwin -mcpu=skx --show-mc-encoding | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512-SKX 7 ; AVX512-LABEL: test_fdiv: 8 ; AVX512: ## %bb.0: 9 ; AVX512-NEXT: vdivss %xmm1, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xfa,0x5e,0… 10 ; AVX512-NEXT: retq ## encoding: [0xc3] 21 ; AVX512-LABEL: test_fsub: 22 ; AVX512: ## %bb.0: 23 ; AVX512-NEXT: vsubss %xmm1, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xfa,0x5c,0… 24 ; AVX512-NEXT: retq ## encoding: [0xc3] [all …]
|
D | shuffle-strided-with-offset-512.ll | 2 …ple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX… 3 …own-unknown -mattr=+avx512vl,+fast-variable-shuffle | FileCheck %s --check-prefixes=AVX512,AVX512VL 4 …own-unknown -mattr=+avx512bw,+fast-variable-shuffle | FileCheck %s --check-prefixes=AVX512,AVX512BW 5 …-mattr=+avx512bw,+avx512vl,+fast-variable-shuffle | FileCheck %s --check-prefixes=AVX512,AVX512BWVL 155 ; AVX512-LABEL: shuffle_v64i8_to_v16i8_1: 156 ; AVX512: # %bb.0: 157 ; AVX512-NEXT: vmovdqa (%rdi), %xmm0 158 ; AVX512-NEXT: vmovdqa 16(%rdi), %xmm1 159 ; AVX512-NEXT: vmovdqa 32(%rdi), %xmm2 160 ; AVX512-NEXT: vmovdqa 48(%rdi), %xmm3 [all …]
|
D | vector-reduce-fadd.ll | 7 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 8 …ple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 36 ; AVX512-LABEL: test_v2f32: 37 ; AVX512: # %bb.0: 38 ; AVX512-NEXT: vaddss %xmm1, %xmm0, %xmm0 39 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm1[1,1,3,3] 40 ; AVX512-NEXT: vaddss %xmm1, %xmm0, %xmm0 41 ; AVX512-NEXT: retq 83 ; AVX512-LABEL: test_v4f32: 84 ; AVX512: # %bb.0: [all …]
|
D | fast-isel-select-sse.ll | 6 …ify-machineinstrs -mattr=avx512f | FileCheck %s --check-prefix=AVX512 7 …ify-machineinstrs -fast-isel -fast-isel-abort=1 -mattr=avx512f | FileCheck %s --check-prefix=AVX512 27 ; AVX512-LABEL: select_fcmp_oeq_f32: 28 ; AVX512: # %bb.0: 29 ; AVX512-NEXT: vcmpeqss %xmm1, %xmm0, %k1 30 ; AVX512-NEXT: vmovss %xmm2, %xmm3, %xmm3 {%k1} 31 ; AVX512-NEXT: vmovaps %xmm3, %xmm0 32 ; AVX512-NEXT: retq 54 ; AVX512-LABEL: select_fcmp_oeq_f64: 55 ; AVX512: # %bb.0: [all …]
|
D | vector-reduce-fmax-fmin-fast.ll | 6 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 7 …ple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 37 ; AVX512-LABEL: test_v2f32: 38 ; AVX512: # %bb.0: 39 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 40 ; AVX512-NEXT: vminss %xmm1, %xmm0, %xmm0 41 ; AVX512-NEXT: retq 74 ; AVX512-LABEL: test_v4f32: 75 ; AVX512: # %bb.0: 76 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] [all …]
|
D | nontemporal-loads-2.ll | 6 …triple=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=AVX,AVX512 7 …triple=x86_64-unknown-unknown -mattr=+avx512bw,+avx512vl | FileCheck %s --check-prefixes=AVX,AVX512 398 ; AVX512-LABEL: test_v8f64_align1: 399 ; AVX512: # %bb.0: 400 ; AVX512-NEXT: vmovups (%rdi), %zmm0 401 ; AVX512-NEXT: retq 427 ; AVX512-LABEL: test_v16f32_align1: 428 ; AVX512: # %bb.0: 429 ; AVX512-NEXT: vmovups (%rdi), %zmm0 430 ; AVX512-NEXT: retq [all …]
|
D | rounding-ops.ll | 4 …ble-peephole -mtriple=x86_64-apple-macosx -mattr=+avx512f | FileCheck -check-prefix=CHECK-AVX512 %s 17 ; CHECK-AVX512-LABEL: test1: 18 ; CHECK-AVX512: ## %bb.0: 19 ; CHECK-AVX512-NEXT: vroundss $9, %xmm0, %xmm0, %xmm0 20 ; CHECK-AVX512-NEXT: retq 38 ; CHECK-AVX512-LABEL: test2: 39 ; CHECK-AVX512: ## %bb.0: 40 ; CHECK-AVX512-NEXT: vroundsd $9, %xmm0, %xmm0, %xmm0 41 ; CHECK-AVX512-NEXT: retq 59 ; CHECK-AVX512-LABEL: test3: [all …]
|
D | commute-fcmp.ll | 4 …le=x86_64-unknown -mattr=+avx512vl,+avx512dq -disable-peephole | FileCheck %s --check-prefix=AVX512 22 ; AVX512-LABEL: commute_cmpps_eq: 23 ; AVX512: # %bb.0: 24 ; AVX512-NEXT: vcmpeqps (%rdi), %xmm0, %xmm0 25 ; AVX512-NEXT: retq 43 ; AVX512-LABEL: commute_cmpps_ne: 44 ; AVX512: # %bb.0: 45 ; AVX512-NEXT: vcmpneqps (%rdi), %xmm0, %xmm0 46 ; AVX512-NEXT: retq 64 ; AVX512-LABEL: commute_cmpps_ord: [all …]
|
D | vec-strict-cmp-sub128.ll | 6 …e=i686-unknown-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefix=AVX512-32 7 …x86_64-unknown-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefix=AVX512-64 94 ; AVX512-32-LABEL: test_v2f32_ogt_s: 95 ; AVX512-32: # %bb.0: 96 ; AVX512-32-NEXT: pushl %ebp 97 ; AVX512-32-NEXT: movl %esp, %ebp 98 ; AVX512-32-NEXT: andl $-16, %esp 99 ; AVX512-32-NEXT: subl $16, %esp 100 ; AVX512-32-NEXT: movw $-3, %ax 101 ; AVX512-32-NEXT: kmovw %eax, %k0 [all …]
|
D | avoid-sfb.ll | 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) [all …]
|
D | vector-reduce-add.ll | 7 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX512 8 …ple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 29 ; AVX512-LABEL: test_v2i64: 30 ; AVX512: # %bb.0: 31 ; AVX512-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,2,3] 32 ; AVX512-NEXT: vpaddq %xmm1, %xmm0, %xmm0 33 ; AVX512-NEXT: vmovq %xmm0, %rax 34 ; AVX512-NEXT: retq 68 ; AVX512-LABEL: test_v4i64: 69 ; AVX512: # %bb.0: [all …]
|
/external/llvm/test/CodeGen/X86/ |
D | vector-half-conversions.ll | 4 …wn -mattr=+avx512f,+f16c | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX512 185 ; AVX512-LABEL: cvt_8i16_to_8f32: 186 ; AVX512: # BB#0: 187 ; AVX512-NEXT: vpextrq $1, %xmm0, %rdx 188 ; AVX512-NEXT: movq %rdx, %r8 189 ; AVX512-NEXT: movq %rdx, %r10 190 ; AVX512-NEXT: movswl %dx, %r9d 191 ; AVX512-NEXT: # kill: %EDX<def> %EDX<kill> %RDX<kill> 192 ; AVX512-NEXT: shrl $16, %edx 193 ; AVX512-NEXT: shrq $32, %r8 [all …]
|
D | fma_patterns.ll | 6 …mattr=+avx512dq,+avx512vl -fp-contract=fast | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 23 ; AVX512-LABEL: test_f32_fmadd: 24 ; AVX512: # BB#0: 25 ; AVX512-NEXT: vfmadd213ss %xmm2, %xmm0, %xmm1 26 ; AVX512-NEXT: vmovaps %zmm1, %zmm0 27 ; AVX512-NEXT: retq 44 ; AVX512-LABEL: test_4f32_fmadd: 45 ; AVX512: # BB#0: 46 ; AVX512-NEXT: vfmadd213ps %xmm2, %xmm1, %xmm0 47 ; AVX512-NEXT: retq [all …]
|
/external/llvm-project/llvm/test/Transforms/LoopVectorize/X86/ |
D | masked_load_store.ll | 4 ; RUN: opt < %s -loop-vectorize -mcpu=knl -S | FileCheck %s -check-prefix=AVX512 206 ; AVX512-LABEL: @foo1( 207 ; AVX512-NEXT: iter.check: 208 ; AVX512-NEXT: [[A1:%.*]] = bitcast i32* [[A:%.*]] to i8* 209 ; AVX512-NEXT: [[TRIGGER3:%.*]] = bitcast i32* [[TRIGGER:%.*]] to i8* 210 ; AVX512-NEXT: [[B6:%.*]] = bitcast i32* [[B:%.*]] to i8* 211 ; AVX512-NEXT: br i1 false, label [[VEC_EPILOG_SCALAR_PH:%.*]], label [[VECTOR_MEMCHECK:%.*]] 212 ; AVX512: vector.memcheck: 213 ; AVX512-NEXT: [[SCEVGEP:%.*]] = getelementptr i32, i32* [[A]], i64 10000 214 ; AVX512-NEXT: [[SCEVGEP2:%.*]] = bitcast i32* [[SCEVGEP]] to i8* [all …]
|