/external/swiftshader/third_party/llvm-7.0/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: movb (%rdi), %al 9 ; AVX512-ALL-NEXT: movb %al, (%rsi) 10 ; AVX512-ALL-NEXT: retq 12 ; AVX512-ONLY-LABEL: load_v1i2_trunc_v1i1_store: 13 ; AVX512-ONLY: # %bb.0: 14 ; AVX512-ONLY-NEXT: movb (%rdi), %al [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 | 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 26 ; AVX512-LABEL: select_fcmp_oeq_f32: 27 ; AVX512: # %bb.0: 28 ; AVX512-NEXT: vcmpeqss %xmm1, %xmm0, %k1 29 ; AVX512-NEXT: vmovss %xmm2, %xmm0, %xmm3 {%k1} 30 ; AVX512-NEXT: vmovaps %xmm3, %xmm0 31 ; AVX512-NEXT: retq 52 ; AVX512-LABEL: select_fcmp_oeq_f64: 53 ; AVX512: # %bb.0: [all …]
|
D | vector-reduce-fmul.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 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 | vector-reduce-fadd.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 35 ; AVX512-LABEL: test_v2f32: 36 ; AVX512: # %bb.0: 37 ; AVX512-NEXT: vaddss %xmm1, %xmm0, %xmm0 38 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm1[1,1,3,3] 39 ; AVX512-NEXT: vaddss %xmm1, %xmm0, %xmm0 40 ; AVX512-NEXT: retq 82 ; AVX512-LABEL: test_v4f32: 83 ; AVX512: # %bb.0: [all …]
|
D | fma_patterns.ll | 5 …fp-contract=fast | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX512-INFS 9 …o-infs-fp-math | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX512-NOINFS 26 ; AVX512-LABEL: test_f32_fmadd: 27 ; AVX512: # %bb.0: 28 ; AVX512-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 29 ; AVX512-NEXT: retq 46 ; AVX512-LABEL: test_4f32_fmadd: 47 ; AVX512: # %bb.0: 48 ; AVX512-NEXT: vfmadd213ps %xmm2, %xmm1, %xmm0 49 ; AVX512-NEXT: retq [all …]
|
D | vector-reduce-fmul-fast.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 33 ; AVX512-LABEL: test_v2f32: 34 ; AVX512: # %bb.0: 35 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm0 = xmm1[1,1,3,3] 36 ; AVX512-NEXT: vmulps %xmm0, %xmm1, %xmm0 37 ; AVX512-NEXT: retq 70 ; AVX512-LABEL: test_v4f32: 71 ; AVX512: # %bb.0: 72 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm0 = xmm1[1,0] [all …]
|
D | ptest.ll | 4 …-mattr=+avx512vl,+avx512dq,+avx512bw < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 102 ; AVX512-LABEL: veccond512: 103 ; AVX512: # %bb.0: # %entry 104 ; AVX512-NEXT: vextracti32x4 $3, %zmm0, %xmm1 105 ; AVX512-NEXT: vmovq %xmm1, %rax 106 ; AVX512-NEXT: vextracti128 $1, %ymm0, %xmm2 107 ; AVX512-NEXT: vmovq %xmm2, %rcx 108 ; AVX512-NEXT: orq %rax, %rcx 109 ; AVX512-NEXT: vextracti32x4 $2, %zmm0, %xmm3 110 ; AVX512-NEXT: vmovq %xmm3, %rax [all …]
|
D | avx512-scalar.ll | 2 …how-mc-encoding | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512-KNL 3 …how-mc-encoding | FileCheck %s --check-prefix=CHECK --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 | vector-reduce-fadd-fast.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 32 ; AVX512-LABEL: test_v2f32: 33 ; AVX512: # %bb.0: 34 ; AVX512-NEXT: vhaddps %xmm1, %xmm1, %xmm0 35 ; AVX512-NEXT: retq 66 ; AVX512-LABEL: test_v4f32: 67 ; AVX512: # %bb.0: 68 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm0 = xmm1[1,0] 69 ; AVX512-NEXT: vaddps %xmm0, %xmm1, %xmm0 [all …]
|
D | commute-fcmp.ll | 4 … %s -mtriple=x86_64-unknown -mattr=+avx512vl -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 | vector-reduce-fmax-nnan.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 33 ; AVX512-LABEL: test_v2f32: 34 ; AVX512: # %bb.0: 35 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 36 ; AVX512-NEXT: vmaxps %xmm1, %xmm0, %xmm0 37 ; AVX512-NEXT: retq 70 ; AVX512-LABEL: test_v4f32: 71 ; AVX512: # %bb.0: 72 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] [all …]
|
D | vector-reduce-fmax.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 33 ; AVX512-LABEL: test_v2f32: 34 ; AVX512: # %bb.0: 35 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 36 ; AVX512-NEXT: vmaxps %xmm1, %xmm0, %xmm0 37 ; AVX512-NEXT: retq 70 ; AVX512-LABEL: test_v4f32: 71 ; AVX512: # %bb.0: 72 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] [all …]
|
D | vector-reduce-fmin-nnan.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 33 ; AVX512-LABEL: test_v2f32: 34 ; AVX512: # %bb.0: 35 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 36 ; AVX512-NEXT: vminps %xmm1, %xmm0, %xmm0 37 ; AVX512-NEXT: retq 70 ; AVX512-LABEL: test_v4f32: 71 ; AVX512: # %bb.0: 72 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] [all …]
|
D | vector-reduce-fmin.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 33 ; AVX512-LABEL: test_v2f32: 34 ; AVX512: # %bb.0: 35 ; AVX512-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 36 ; AVX512-NEXT: vminps %xmm1, %xmm0, %xmm0 37 ; AVX512-NEXT: retq 70 ; AVX512-LABEL: test_v4f32: 71 ; AVX512: # %bb.0: 72 ; AVX512-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] [all …]
|
D | vector-reduce-and.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 28 ; AVX512-LABEL: test_v2i64: 29 ; AVX512: # %bb.0: 30 ; AVX512-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 31 ; AVX512-NEXT: vpand %xmm1, %xmm0, %xmm0 32 ; AVX512-NEXT: vmovq %xmm0, %rax 33 ; AVX512-NEXT: retq 67 ; AVX512-LABEL: test_v4i64: 68 ; AVX512: # %bb.0: [all …]
|
D | vector-reduce-or.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 28 ; AVX512-LABEL: test_v2i64: 29 ; AVX512: # %bb.0: 30 ; AVX512-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 31 ; AVX512-NEXT: vpor %xmm1, %xmm0, %xmm0 32 ; AVX512-NEXT: vmovq %xmm0, %rax 33 ; AVX512-NEXT: retq 67 ; AVX512-LABEL: test_v4i64: 68 ; AVX512: # %bb.0: [all …]
|
D | vector-reduce-xor.ll | 6 …attr=+avx512f,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 7 …12f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX… 28 ; AVX512-LABEL: test_v2i64: 29 ; AVX512: # %bb.0: 30 ; AVX512-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 31 ; AVX512-NEXT: vpxor %xmm1, %xmm0, %xmm0 32 ; AVX512-NEXT: vmovq %xmm0, %rax 33 ; AVX512-NEXT: retq 67 ; AVX512-LABEL: test_v4i64: 68 ; AVX512: # %bb.0: [all …]
|
D | vector-compare-all_of.ll | 5 …%s -mtriple=x86_64-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 24 ; AVX512-LABEL: test_v2f64_sext: 25 ; AVX512: # %bb.0: 26 ; AVX512-NEXT: vcmpltpd %xmm0, %xmm1, %xmm0 27 ; AVX512-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[2,3,0,1] 28 ; AVX512-NEXT: vandpd %xmm1, %xmm0, %xmm0 29 ; AVX512-NEXT: vmovq %xmm0, %rax 30 ; AVX512-NEXT: retq 61 ; AVX512-LABEL: test_v4f64_sext: 62 ; AVX512: # %bb.0: [all …]
|
D | vector-compare-any_of.ll | 5 …%s -mtriple=x86_64-unknown -mattr=+avx512f,+avx512bw,+avx512vl | FileCheck %s --check-prefix=AVX512 24 ; AVX512-LABEL: test_v2f64_sext: 25 ; AVX512: # %bb.0: 26 ; AVX512-NEXT: vcmpltpd %xmm0, %xmm1, %xmm0 27 ; AVX512-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[2,3,0,1] 28 ; AVX512-NEXT: vorpd %xmm1, %xmm0, %xmm0 29 ; AVX512-NEXT: vmovq %xmm0, %rax 30 ; AVX512-NEXT: retq 59 ; AVX512-LABEL: test_v4f64_sext: 60 ; AVX512: # %bb.0: [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 …]
|
/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 …]
|
D | fma_patterns_wide.ll | 5 …iple=x86_64-unknown-unknown -mattr=+avx512dq -fp-contract=fast | FileCheck %s --check-prefix=AVX512 24 ; AVX512-LABEL: test_16f32_fmadd: 25 ; AVX512: # BB#0: 26 ; AVX512-NEXT: vfmadd213ps %zmm2, %zmm1, %zmm0 27 ; AVX512-NEXT: retq 46 ; AVX512-LABEL: test_8f64_fmadd: 47 ; AVX512: # BB#0: 48 ; AVX512-NEXT: vfmadd213pd %zmm2, %zmm1, %zmm0 49 ; AVX512-NEXT: retq 72 ; AVX512-LABEL: test_16f32_fmsub: [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/test/Transforms/LoopVectorize/X86/ |
D | masked_load_store.ll | 4 ; RUN: opt < %s -O3 -mcpu=knl -S | FileCheck %s -check-prefix=AVX512 265 ; AVX512-LABEL: @foo1( 266 ; AVX512-NEXT: entry: 267 ; AVX512-NEXT: [[SCEVGEP:%.*]] = getelementptr i32, i32* [[A:%.*]], i64 10000 268 ; AVX512-NEXT: [[SCEVGEP11:%.*]] = getelementptr i32, i32* [[TRIGGER:%.*]], i64 10000 269 ; AVX512-NEXT: [[SCEVGEP14:%.*]] = getelementptr i32, i32* [[B:%.*]], i64 10000 270 ; AVX512-NEXT: [[BOUND0:%.*]] = icmp ugt i32* [[SCEVGEP11]], [[A]] 271 ; AVX512-NEXT: [[BOUND1:%.*]] = icmp ugt i32* [[SCEVGEP]], [[TRIGGER]] 272 ; AVX512-NEXT: [[FOUND_CONFLICT:%.*]] = and i1 [[BOUND0]], [[BOUND1]] 273 ; AVX512-NEXT: [[BOUND016:%.*]] = icmp ugt i32* [[SCEVGEP14]], [[A]] [all …]
|