Home
last modified time | relevance | path

Searched refs:AVX (Results 1 – 25 of 171) sorted by relevance

1234567

/external/llvm/test/CodeGen/X86/
Dvec_fp_to_int.ll2 …nknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
25 ; AVX-LABEL: fptosi_2f64_to_2i64:
26 ; AVX: # BB#0:
27 ; AVX-NEXT: vcvttsd2si %xmm0, %rax
28 ; AVX-NEXT: vmovq %rax, %xmm1
29 ; AVX-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0]
30 ; AVX-NEXT: vcvttsd2si %xmm0, %rax
31 ; AVX-NEXT: vmovq %rax, %xmm0
32 ; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm1[0],xmm0[0]
33 ; AVX-NEXT: retq
[all …]
Dmachine-combiner.ll2 …known-unknown -mcpu=x86-64 -mattr=avx -enable-unsafe-fp-math < %s | FileCheck %s --check-prefix=AVX
15 ; AVX-LABEL: reassociate_adds1:
16 ; AVX: # BB#0:
17 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0
18 ; AVX-NEXT: vaddss %xmm3, %xmm2, %xmm1
19 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0
20 ; AVX-NEXT: retq
35 ; AVX-LABEL: reassociate_adds2:
36 ; AVX: # BB#0:
37 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0
[all …]
Dsse-scalar-fp-arith.ll3 ; RUN: llc -mcpu=x86-64 -mattr=+avx < %s | FileCheck --check-prefix=AVX %s
17 ; AVX-LABEL: test_add_ss:
18 ; AVX: # BB#0:
19 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0
20 ; AVX-NEXT: retq
34 ; AVX-LABEL: test_sub_ss:
35 ; AVX: # BB#0:
36 ; AVX-NEXT: vsubss %xmm1, %xmm0, %xmm0
37 ; AVX-NEXT: retq
51 ; AVX-LABEL: test_mul_ss:
[all …]
Dcommute-fcmp.ll2 …N: llc -O3 -mtriple=x86_64-unknown -mcpu=x86-64 -mattr=+avx2 < %s | FileCheck %s --check-prefix=AVX
14 ;AVX-LABEL: commute_cmpps_eq
15 ;AVX: vcmpeqps (%rdi), %xmm0, %xmm0
16 ;AVX-NEXT: retq
29 ;AVX-LABEL: commute_cmpps_ne
30 ;AVX: vcmpneqps (%rdi), %xmm0, %xmm0
31 ;AVX-NEXT: retq
44 ;AVX-LABEL: commute_cmpps_ord
45 ;AVX: vcmpordps (%rdi), %xmm0, %xmm0
46 ;AVX-NEXT: retq
[all …]
Dvector-idiv.ll4 ; RUN: llc -march=x86-64 -mcpu=core-avx2 < %s | FileCheck %s --check-prefix=AVX
41 ; AVX-LABEL: test1:
42 ; AVX: # BB#0:
43 ; AVX-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
44 ; AVX-NEXT: vpshufd {{.*#+}} xmm2 = xmm1[1,1,3,3]
45 ; AVX-NEXT: vpshufd {{.*#+}} xmm3 = xmm0[1,1,3,3]
46 ; AVX-NEXT: vpmuludq %xmm2, %xmm3, %xmm2
47 ; AVX-NEXT: vpmuludq %xmm1, %xmm0, %xmm1
48 ; AVX-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
49 ; AVX-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2],xmm2[3]
[all …]
Dmachine-combiner-int-vec.ll2 …llc -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=avx2 < %s | FileCheck %s --check-prefix=AVX
14 ; AVX-LABEL: reassociate_and_v4i32:
15 ; AVX: # BB#0:
16 ; AVX-NEXT: vpaddd %xmm1, %xmm0, %xmm0
17 ; AVX-NEXT: vpand %xmm3, %xmm2, %xmm1
18 ; AVX-NEXT: vpand %xmm1, %xmm0, %xmm0
19 ; AVX-NEXT: retq
35 ; AVX-LABEL: reassociate_or_v4i32:
36 ; AVX: # BB#0:
37 ; AVX-NEXT: vpaddd %xmm1, %xmm0, %xmm0
[all …]
Dlower-vec-shift-2.ll3 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+avx < %s | FileCheck %s --check-prefix=AVX
14 ; AVX-LABEL: test1:
15 ; AVX: # BB#0: # %entry
16 ; AVX-NEXT: vpxor %xmm2, %xmm2, %xmm2
17 ; AVX-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm2[1,2,3,4,5,6,7]
18 ; AVX-NEXT: vpsllw %xmm1, %xmm0, %xmm0
19 ; AVX-NEXT: retq
34 ; AVX-LABEL: test2:
35 ; AVX: # BB#0: # %entry
36 ; AVX-NEXT: vpxor %xmm2, %xmm2, %xmm2
[all …]
Dfp-load-trunc.ll2 ; RUN: llc < %s -march=x86 -mcpu=core-avx-i | FileCheck %s --check-prefix=AVX
16 ; AVX-LABEL: test1:
17 ; AVX: # BB#0:
18 ; AVX-NEXT: pushl %eax
19 ; AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
20 ; AVX-NEXT: vmovsd (%eax), %xmm0
21 ; AVX-NEXT: vcvtsd2ss %xmm0, %xmm0, %xmm0
22 ; AVX-NEXT: vmovss %xmm0, (%esp)
23 ; AVX-NEXT: flds (%esp)
24 ; AVX-NEXT: popl %eax
[all …]
Dpr12312.ll2 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+avx,-avx2 < %s | FileCheck %s --check-prefix AVX
17 ; AVX: veccond128
18 ; AVX: vptest %xmm{{.*}}, %xmm{{.*}}
19 ; AVX: ret
36 ; AVX: veccond256
37 ; AVX: vptest %ymm{{.*}}, %ymm{{.*}}
38 ; AVX: ret
57 ; AVX: veccond512
58 ; AVX: vorps
59 ; AVX: vptest %ymm{{.*}}, %ymm{{.*}}
[all …]
Dfp-trunc.ll2 ; RUN: llc < %s -march=x86 -mcpu=core-avx-i | FileCheck %s --check-prefix=AVX
17 ; AVX-LABEL: test1:
18 ; AVX: # BB#0:
19 ; AVX-NEXT: pushl %eax
20 ; AVX-NEXT: vmovsd {{[0-9]+}}(%esp), %xmm0
21 ; AVX-NEXT: vcvtsd2ss %xmm0, %xmm0, %xmm0
22 ; AVX-NEXT: vmovss %xmm0, (%esp)
23 ; AVX-NEXT: flds (%esp)
24 ; AVX-NEXT: popl %eax
25 ; AVX-NEXT: retl
[all …]
Dsse41-pmovxrm-intrinsics.ll3 …%s -mtriple=x86_64-apple-darwin -mattr=+avx2 | FileCheck %s --check-prefix=CHECK --check-prefix=AVX
11 ; AVX-LABEL: test_llvm_x86_sse41_pmovsxbw:
12 ; AVX: ## BB#0:
13 ; AVX-NEXT: vpmovsxbw (%rdi), %xmm0
14 ; AVX-NEXT: retq
27 ; AVX-LABEL: test_llvm_x86_sse41_pmovsxbd:
28 ; AVX: ## BB#0:
29 ; AVX-NEXT: vpmovsxbd (%rdi), %xmm0
30 ; AVX-NEXT: retq
43 ; AVX-LABEL: test_llvm_x86_sse41_pmovsxbq:
[all …]
Dsplat-for-size.ll2 … -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=CHECK --check-prefix=AVX
6 ; for size optimization using splat ops available with AVX and AVX2.
8 ; There is no AVX broadcast from double to 128-bit vector because movddup has been around since SSE…
49 ; AVX can't do integer splats, so fake it: use vmovddup to splat 64-bit value.
61 ; AVX can't do 256-bit integer ops, so we split this into two 128-bit vectors,
64 ; AVX-LABEL: splat_v4i64:
65 ; AVX: # BB#0:
66 ; AVX-NEXT: vextractf128 $1, %ymm0, %xmm1
67 ; AVX-NEXT: vmovddup {{.*#+}} xmm2 = mem[0,0]
68 ; AVX-NEXT: vpaddq %xmm2, %xmm1, %xmm1
[all …]
Dfast-isel-select-sse.ll3 …86_64-apple-darwin10 -mcpu=corei7-avx | FileCheck %s --check-prefix=AVX
4 …_64-apple-darwin10 -fast-isel -fast-isel-abort=1 -mcpu=corei7-avx | FileCheck %s --check-prefix=AVX
14 ; AVX-LABEL: select_fcmp_oeq_f32
15 ; AVX: vcmpeqss %xmm1, %xmm0, %xmm0
16 ; AVX-NEXT: vblendvps %xmm0, %xmm2, %xmm3, %xmm0
28 ; AVX-LABEL: select_fcmp_oeq_f64
29 ; AVX: vcmpeqsd %xmm1, %xmm0, %xmm0
30 ; AVX-NEXT: vblendvpd %xmm0, %xmm2, %xmm3, %xmm0
42 ; AVX-LABEL: select_fcmp_ogt_f32
43 ; AVX: vcmpltss %xmm0, %xmm1, %xmm0
[all …]
Dvec_cmp_sint-128.ll5 …nknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
6 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
9 …n-unknown -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX5…
10 …-unknown -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX5…
34 ; AVX-LABEL: eq_v2i64:
35 ; AVX: # BB#0:
36 ; AVX-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0
37 ; AVX-NEXT: retq
54 ; AVX-LABEL: eq_v4i32:
55 ; AVX: # BB#0:
[all …]
Dsse3-avx-addsub-2.ll3 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx | FileCheck %s --check-prefix=AVX
14 ; AVX-LABEL: test1:
15 ; AVX: # BB#0:
16 ; AVX-NEXT: vaddsubps %xmm1, %xmm0, %xmm0
17 ; AVX-NEXT: retq
43 ; AVX-LABEL: test2:
44 ; AVX: # BB#0:
45 ; AVX-NEXT: vaddsubps %xmm1, %xmm0, %xmm0
46 ; AVX-NEXT: retq
64 ; AVX-LABEL: test3:
[all …]
Dfold-load-binops.ll3 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+avx < %s | FileCheck %s --check-prefix=AVX
15 ; AVX-LABEL: addss:
16 ; AVX: # BB#0:
17 ; AVX-NEXT: vaddss (%rdi), %xmm0, %xmm0
18 ; AVX-NEXT: retq
32 ; AVX-LABEL: addsd:
33 ; AVX: # BB#0:
34 ; AVX-NEXT: vaddsd (%rdi), %xmm0, %xmm0
35 ; AVX-NEXT: retq
49 ; AVX-LABEL: subss:
[all …]
Dvec_uint_to_fp-fastmath.ll6 ; RUN: | FileCheck %s --check-prefix=CHECK --check-prefix=AVX --check-prefix=CST
40 ; AVX-LABEL: test_uitofp_v4i32_to_v4f32:
41 ; AVX: # BB#0:
42 ; AVX-NEXT: vandps [[MASKCSTADDR]](%rip), %xmm0, %xmm1
43 ; AVX-NEXT: vcvtdq2ps %xmm1, %xmm1
44 ; AVX-NEXT: vpsrld $16, %xmm0, %xmm0
45 ; AVX-NEXT: vcvtdq2ps %xmm0, %xmm0
46 ; AVX-NEXT: vmulps [[FPMASKCSTADDR]](%rip), %xmm0, %xmm0
47 ; AVX-NEXT: vaddps %xmm1, %xmm0, %xmm0
48 ; AVX-NEXT: retq
[all …]
Dvector-shuffle-128-v8.ll5 …n -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
6 … -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
17 ; AVX-LABEL: shuffle_v8i16_01012323:
18 ; AVX: # BB#0:
19 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
20 ; AVX-NEXT: retq
30 ; AVX-LABEL: shuffle_v8i16_67452301:
31 ; AVX: # BB#0:
32 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,2,1,0]
33 ; AVX-NEXT: retq
[all …]
Dvec_cmp_uint-128.ll5 …nknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
6 …known-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
9 …n-unknown -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX5…
10 …-unknown -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX5…
34 ; AVX-LABEL: eq_v2i64:
35 ; AVX: # BB#0:
36 ; AVX-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0
37 ; AVX-NEXT: retq
54 ; AVX-LABEL: eq_v4i32:
55 ; AVX: # BB#0:
[all …]
Dsse3-avx-addsub.ll3 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx | FileCheck %s --check-prefix=AVX
44 ; AVX-LABEL: test1:
45 ; AVX: # BB#0:
46 ; AVX-NEXT: vaddsubps %xmm1, %xmm0, %xmm0
47 ; AVX-NEXT: retq
61 ; AVX-LABEL: test2:
62 ; AVX: # BB#0:
63 ; AVX-NEXT: vaddsubps %ymm1, %ymm0, %ymm0
64 ; AVX-NEXT: retq
78 ; AVX-LABEL: test3:
[all …]
Dpreserve_allcc64.ll2 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx | FileCheck --check-prefix=AVX %s
37 ;AVX-LABEL: preserve_allcc1
38 ;AVX: pushq %r10
39 ;AVX-NEXT: pushq %r9
40 ;AVX-NEXT: pushq %r8
41 ;AVX-NEXT: pushq %rdi
42 ;AVX-NEXT: pushq %rsi
43 ;AVX-NEXT: pushq %rdx
44 ;AVX-NEXT: pushq %rcx
45 ;AVX-NEXT: pushq %rax
[all …]
Davx-insertelt.ll1 …s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX
21 ; AVX-LABEL: insert_i8:
22 ; AVX: # BB#0:
23 ; AVX-NEXT: vpinsrb $0, %edi, %xmm0, %xmm1
24 ; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
25 ; AVX-NEXT: retq
37 ; AVX-LABEL: insert_i16:
38 ; AVX: # BB#0:
39 ; AVX-NEXT: vpinsrw $0, %edi, %xmm0, %xmm1
40 ; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
[all …]
Dvector-shuffle-128-v4.ll6 …n -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
7 … -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
18 ; AVX-LABEL: shuffle_v4i32_0001:
19 ; AVX: # BB#0:
20 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,1]
21 ; AVX-NEXT: retq
31 ; AVX-LABEL: shuffle_v4i32_0020:
32 ; AVX: # BB#0:
33 ; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,2,0]
34 ; AVX-NEXT: retq
[all …]
Dfmaxnum.ll2 …iple=x86_64-unknown-unknown -mattr=avx < %s | FileCheck %s --check-prefix=CHECK --check-prefix=AVX
29 ; AVX: vmaxss %xmm0, %xmm1, %xmm2
30 ; AVX-NEXT: vcmpunordss %xmm0, %xmm0, %xmm0
31 ; AVX-NEXT: vblendvps %xmm0, %xmm1, %xmm2, %xmm0
32 ; AVX-NEXT: retq
72 ; AVX: vmaxss %xmm0, %xmm1, %xmm2
73 ; AVX-NEXT: vcmpunordss %xmm0, %xmm0, %xmm0
74 ; AVX-NEXT: vblendvps %xmm0, %xmm1, %xmm2, %xmm0
75 ; AVX-NEXT: retq
146 ; AVX: vmaxss %xmm0, %xmm1, %xmm2
[all …]
Dexedeps-movq.ll3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx | FileCheck %s --check-prefix=AVX
20 ; AVX-LABEL: store_floats:
21 ; AVX: # BB#0:
22 ; AVX-NEXT: vaddps %xmm0, %xmm0, %xmm0
23 ; AVX-NEXT: vmovlps %xmm0, (%rdi)
24 ; AVX-NEXT: retq
39 ; AVX-LABEL: store_double:
40 ; AVX: # BB#0:
41 ; AVX-NEXT: vaddpd %xmm0, %xmm0, %xmm0
42 ; AVX-NEXT: vmovlpd %xmm0, (%rdi)
[all …]

1234567