Home
last modified time | relevance | path

Searched refs:AVX2 (Results 1 – 25 of 154) sorted by relevance

1234567

/external/llvm/test/CodeGen/X86/
Dvector-idiv-sdiv-256.ll3 … -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
47 ; AVX2-LABEL: test_div7_4i64:
48 ; AVX2: # BB#0:
49 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
50 ; AVX2-NEXT: vpextrq $1, %xmm1, %rax
51 ; AVX2-NEXT: movabsq $5270498306774157605, %rcx # imm = 0x4924924924924925
52 ; AVX2-NEXT: imulq %rcx
53 ; AVX2-NEXT: movq %rdx, %rax
54 ; AVX2-NEXT: shrq $63, %rax
55 ; AVX2-NEXT: sarq %rdx
[all …]
Dvector-idiv-udiv-256.ll3 … -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
51 ; AVX2-LABEL: test_div7_4i64:
52 ; AVX2: # BB#0:
53 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
54 ; AVX2-NEXT: vpextrq $1, %xmm1, %rcx
55 ; AVX2-NEXT: movabsq $2635249153387078803, %rsi # imm = 0x2492492492492493
56 ; AVX2-NEXT: movq %rcx, %rax
57 ; AVX2-NEXT: mulq %rsi
58 ; AVX2-NEXT: subq %rdx, %rcx
59 ; AVX2-NEXT: shrq %rcx
[all …]
Dvector-half-conversions.ll3 …unknown -mattr=+avx2,+f16c | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
136 ; AVX2-LABEL: cvt_8i16_to_8f32:
137 ; AVX2: # BB#0:
138 ; AVX2-NEXT: vpextrq $1, %xmm0, %rdx
139 ; AVX2-NEXT: movq %rdx, %r8
140 ; AVX2-NEXT: movq %rdx, %r10
141 ; AVX2-NEXT: movswl %dx, %r9d
142 ; AVX2-NEXT: # kill: %EDX<def> %EDX<kill> %RDX<kill>
143 ; AVX2-NEXT: shrl $16, %edx
144 ; AVX2-NEXT: shrq $32, %r8
[all …]
Dvector-shuffle-256-v16.ll3 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
15 ; AVX2-LABEL: shuffle_v16i16_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00:
16 ; AVX2: # BB#0:
17 ; AVX2-NEXT: vpbroadcastw %xmm0, %ymm0
18 ; AVX2-NEXT: retq
32 ; AVX2-LABEL: shuffle_v16i16_00_00_00_00_00_00_00_00_00_00_00_00_00_00_01_00:
33 ; AVX2: # BB#0:
34 ; AVX2-NEXT: vpbroadcastw %xmm0, %xmm1
35 ; AVX2-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,0,1,0,1,0,1,0,1,0,1,2,3,0,1]
36 ; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
[all …]
Davx2-intrinsics-x86.ll2 ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=avx2 | FileCheck %s --check-prefix=AVX2
6 ; AVX2-LABEL: test_x86_avx2_packssdw:
7 ; AVX2: ## BB#0:
8 ; AVX2-NEXT: vpackssdw %ymm1, %ymm0, %ymm0
9 ; AVX2-NEXT: retl
22 ; AVX2-LABEL: test_x86_avx2_packsswb:
23 ; AVX2: ## BB#0:
24 ; AVX2-NEXT: vpacksswb %ymm1, %ymm0, %ymm0
25 ; AVX2-NEXT: retl
38 ; AVX2-LABEL: test_x86_avx2_packuswb:
[all …]
Dmasked_memop.ll3 …-mtriple=x86_64-apple-darwin -mattr=avx2 < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
27 ; AVX2-LABEL: test1:
28 ; AVX2: ## BB#0:
29 ; AVX2-NEXT: vpxor %ymm2, %ymm2, %ymm2
30 ; AVX2-NEXT: vpcmpeqd %ymm2, %ymm0, %ymm0
31 ; AVX2-NEXT: vpcmpeqd %ymm2, %ymm1, %ymm1
32 ; AVX2-NEXT: vpmaskmovd 32(%rdi), %ymm1, %ymm1
33 ; AVX2-NEXT: vpmaskmovd (%rdi), %ymm0, %ymm0
34 ; AVX2-NEXT: retq
63 ; AVX2-LABEL: test2:
[all …]
Dvector-shuffle-256-v8.ll3 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
14 ; AVX2-LABEL: shuffle_v8f32_00000000:
15 ; AVX2: # BB#0:
16 ; AVX2-NEXT: vbroadcastss %xmm0, %ymm0
17 ; AVX2-NEXT: retq
30 ; AVX2-LABEL: shuffle_v8f32_00000010:
31 ; AVX2: # BB#0:
32 ; AVX2-NEXT: vmovaps {{.*#+}} ymm1 = [0,0,0,0,0,0,1,0]
33 ; AVX2-NEXT: vpermps %ymm0, %ymm1, %ymm0
34 ; AVX2-NEXT: retq
[all …]
Dvector-shuffle-variable-256.ll3 … -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
101 ; AVX2-LABEL: var_shuffle_v4i64_v4i64_xxxx_i64:
102 ; AVX2: # BB#0:
103 ; AVX2-NEXT: pushq %rbp
104 ; AVX2-NEXT: movq %rsp, %rbp
105 ; AVX2-NEXT: andq $-32, %rsp
106 ; AVX2-NEXT: subq $64, %rsp
107 ; AVX2-NEXT: vmovaps %ymm0, (%rsp)
108 ; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
109 ; AVX2-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
[all …]
Dvector-trunc-math.ll4 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
34 ; AVX2-LABEL: trunc_add_v4i64_4i32:
35 ; AVX2: # BB#0:
36 ; AVX2-NEXT: vpaddq %ymm1, %ymm0, %ymm0
37 ; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
38 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
39 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
40 ; AVX2-NEXT: vzeroupper
41 ; AVX2-NEXT: retq
99 ; AVX2-LABEL: trunc_add_v8i64_8i16:
[all …]
Dvector-shuffle-256-v32.ll3 … -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
15 ; AVX2-LABEL: shuffle_v32i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00…
16 ; AVX2: # BB#0:
17 ; AVX2-NEXT: vpbroadcastb %xmm0, %ymm0
18 ; AVX2-NEXT: retq
32 ; AVX2-LABEL: shuffle_v32i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00…
33 ; AVX2: # BB#0:
34 ; AVX2-NEXT: vpbroadcastb %xmm0, %xmm1
35 ; AVX2-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0]
36 ; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
[all …]
Dvector-popcnt-256.ll3 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
29 ; AVX2-LABEL: testv4i64:
30 ; AVX2: # BB#0:
31 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,1…
32 ; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm2
33 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [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,2,…
34 ; AVX2-NEXT: vpshufb %ymm2, %ymm3, %ymm2
35 ; AVX2-NEXT: vpsrlw $4, %ymm0, %ymm0
36 ; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0
37 ; AVX2-NEXT: vpshufb %ymm0, %ymm3, %ymm0
[all …]
Dvector-lzcnt-256.ll3 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
36 ; AVX2-LABEL: testv4i64:
37 ; AVX2: # BB#0:
38 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,1…
39 ; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm2
40 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [4,3,2,2,1,1,1,1,0,0,0,0,0,0,0,0,4,3,2,2,1,1,1,1,0,0,0,0,0,…
41 ; AVX2-NEXT: vpshufb %ymm2, %ymm3, %ymm2
42 ; AVX2-NEXT: vpsrlw $4, %ymm0, %ymm4
43 ; AVX2-NEXT: vpand %ymm1, %ymm4, %ymm1
44 ; AVX2-NEXT: vpxor %ymm4, %ymm4, %ymm4
[all …]
Dvector-tzcnt-256.ll3 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
39 ; AVX2-LABEL: testv4i64:
40 ; AVX2: # BB#0:
41 ; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
42 ; AVX2-NEXT: vpsubq %ymm0, %ymm1, %ymm2
43 ; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm0
44 ; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
45 ; AVX2-NEXT: vpsubq %ymm2, %ymm0, %ymm0
46 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,1…
47 ; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm3
[all …]
Dvec_shift6.ll3 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=avx2 | FileCheck %s --check-prefix=AVX2
16 ; AVX2-LABEL: test1:
17 ; AVX2: # BB#0:
18 ; AVX2-NEXT: vpmullw {{.*}}(%rip), %xmm0, %xmm0
19 ; AVX2-NEXT: retq
35 ; AVX2-LABEL: test2:
36 ; AVX2: # BB#0:
37 ; AVX2-NEXT: vpmullw {{.*}}(%rip), %xmm0, %xmm0
38 ; AVX2-NEXT: retq
58 ; AVX2-LABEL: test3:
[all …]
Dvector-shuffle-256-v4.ll3 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
15 ; AVX2-LABEL: shuffle_v4f64_0000:
16 ; AVX2: # BB#0:
17 ; AVX2-NEXT: vbroadcastsd %xmm0, %ymm0
18 ; AVX2-NEXT: retq
35 ; AVX2-LABEL: shuffle_v4f64_0001:
36 ; AVX2: # BB#0:
37 ; AVX2-NEXT: vpermpd {{.*#+}} ymm0 = ymm0[0,0,0,1]
38 ; AVX2-NEXT: retq
57 ; AVX2-LABEL: shuffle_v4f64_0020:
[all …]
Dvec_int_to_fp.ll3 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
106 ; AVX2-LABEL: sitofp_8i16_to_2f64:
107 ; AVX2: # BB#0:
108 ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
109 ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
110 ; AVX2-NEXT: # kill
111 ; AVX2-NEXT: vzeroupper
112 ; AVX2-NEXT: retq
154 ; AVX2-LABEL: sitofp_16i8_to_2f64:
155 ; AVX2: # BB#0:
[all …]
Davx-insertelt.ll2 … -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
27 ; AVX2-LABEL: insert_i8:
28 ; AVX2: # BB#0:
29 ; AVX2-NEXT: vpinsrb $0, %edi, %xmm0, %xmm1
30 ; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
31 ; AVX2-NEXT: retq
43 ; AVX2-LABEL: insert_i16:
44 ; AVX2: # BB#0:
45 ; AVX2-NEXT: vpinsrw $0, %edi, %xmm0, %xmm1
46 ; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
[all …]
Dvec_uint_to_fp-fastmath.ll8 ; RUN: | FileCheck %s --check-prefix=CHECK --check-prefix=AVX2
26 ; AVX2: [[FPMASKCSTADDR:.LCPI[0-9_]+]]:
27 ; AVX2-NEXT: .long 1199570944 # float 65536
29 ; AVX2: [[MASKCSTADDR:.LCPI[0-9_]+]]:
30 ; AVX2-NEXT: .long 65535 # 0xffff
54 ; AVX2-LABEL: test_uitofp_v4i32_to_v4f32:
55 ; AVX2: # BB#0:
56 ; AVX2-NEXT: vpsrld $16, %xmm0, %xmm1
57 ; AVX2-NEXT: vcvtdq2ps %xmm1, %xmm1
58 ; AVX2-NEXT: vbroadcastss [[FPMASKCSTADDR]](%rip), %xmm2
[all …]
Dvector-compare-results.ll5 … -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
146 ; AVX2-LABEL: test_cmp_v4f64:
147 ; AVX2: # BB#0:
148 ; AVX2-NEXT: vcmpltpd %ymm0, %ymm1, %ymm0
149 ; AVX2-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
150 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
151 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
152 ; AVX2-NEXT: vzeroupper
153 ; AVX2-NEXT: retq
200 ; AVX2-LABEL: test_cmp_v8f32:
[all …]
Dvec_uint_to_fp.ll4 …s -mtriple=x86_64-apple-macosx -mattr=+avx2 | FileCheck --check-prefix=CHECK --check-prefix=AVX2 %s
31 ; AVX2: [[LOWCSTADDR:LCPI0_[0-9]+]]:
32 ; AVX2-NEXT: .long 1258291200 ## 0x4b000000
34 ; AVX2: [[HIGHCSTADDR:LCPI0_[0-9]+]]:
35 ; AVX2-NEXT: .long 1392508928 ## 0x53000000
37 ; AVX2: [[MAGICCSTADDR:LCPI0_[0-9]+]]:
38 ; AVX2-NEXT: .long 3539992704 ## float -5.49764202E+11
71 ; The lowering for AVX2 is a bit messy, because we select broadcast
73 ; AVX2: vpbroadcastd [[LOWCSTADDR]](%rip), [[LOWCST:%xmm[0-9]+]]
74 ; AVX2-NEXT: vpblendw $170, [[LOWCST]], %xmm0, [[LOWVEC:%xmm[0-9]+]]
[all …]
Dvec_split.ll3 ; RUN: llc -march=x86-64 -mattr=avx2 < %s | FileCheck %s -check-prefix=AVX2
14 ; AVX2-LABEL: split16:
15 ; AVX2: vpminuw
16 ; AVX2: ret
35 ; AVX2-LABEL: split32:
36 ; AVX2: vpminuw
37 ; AVX2: vpminuw
38 ; AVX2: ret
62 ; AVX2-LABEL: split128:
63 ; AVX2: addq
[all …]
Dvector-rotate-256.ll3 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
40 ; AVX2-LABEL: var_rotate_v4i64:
41 ; AVX2: # BB#0:
42 ; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
43 ; AVX2-NEXT: vpsubq %ymm1, %ymm2, %ymm2
44 ; AVX2-NEXT: vpsllvq %ymm1, %ymm0, %ymm1
45 ; AVX2-NEXT: vpsrlvq %ymm2, %ymm0, %ymm0
46 ; AVX2-NEXT: vpor %ymm0, %ymm1, %ymm0
47 ; AVX2-NEXT: retq
118 ; AVX2-LABEL: var_rotate_v8i32:
[all …]
Dvector-shift-ashr-256.ll3 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
38 ; AVX2-LABEL: var_shift_v4i64:
39 ; AVX2: # BB#0:
40 ; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
41 ; AVX2-NEXT: vpsrlvq %ymm1, %ymm2, %ymm3
42 ; AVX2-NEXT: vpxor %ymm2, %ymm0, %ymm0
43 ; AVX2-NEXT: vpsrlvq %ymm1, %ymm0, %ymm0
44 ; AVX2-NEXT: vpsubq %ymm3, %ymm0, %ymm0
45 ; AVX2-NEXT: retq
111 ; AVX2-LABEL: var_shift_v8i32:
[all …]
/external/llvm/test/Analysis/CostModel/X86/
Dsitofp.ll3 …darwin -mattr=+avx2 -cost-model -analyze < %s | FileCheck --check-prefix=AVX --check-prefix=AVX2 %s
13 ; AVX2-LABEL: sitofpv2i8v2double
14 ; AVX2: cost of 4 {{.*}} sitofp
29 ; AVX2-LABEL: sitofpv4i8v4double
30 ; AVX2: cost of 3 {{.*}} sitofp
45 ; AVX2-LABEL: sitofpv8i8v8double
46 ; AVX2: cost of 7 {{.*}} sitofp
61 ; AVX2-LABEL: sitofpv16i8v16double
62 ; AVX2: cost of 15 {{.*}} sitofp
77 ; AVX2-LABEL: sitofpv32i8v32double
[all …]
Duitofp.ll3 …darwin -mattr=+avx2 -cost-model -analyze < %s | FileCheck --check-prefix=AVX --check-prefix=AVX2 %s
14 ; AVX2-LABEL: uitofpv2i8v2double
15 ; AVX2: cost of 4 {{.*}} uitofp
30 ; AVX2-LABEL: uitofpv4i8v4double
31 ; AVX2: cost of 2 {{.*}} uitofp
46 ; AVX2-LABEL: uitofpv8i8v8double
47 ; AVX2: cost of 5 {{.*}} uitofp
62 ; AVX2-LABEL: uitofpv16i8v16double
63 ; AVX2: cost of 11 {{.*}} uitofp
78 ; AVX2-LABEL: uitofpv32i8v32double
[all …]

1234567