Home
last modified time | relevance | path

Searched refs:SSE41 (Results 1 – 25 of 46) sorted by relevance

12

/external/llvm/test/CodeGen/X86/
Dvector-idiv.ll2 ; RUN: llc -march=x86-64 -mcpu=core2 -mattr=+sse4.1 < %s | FileCheck %s --check-prefix=SSE41
9 ; SSE41-LABEL: test1:
10 ; SSE41: # BB#0:
11 ; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [613566757,613566757,613566757,613566757]
12 ; SSE41-NEXT: pshufd {{.*#+}} xmm2 = xmm1[1,1,3,3]
13 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm0[1,1,3,3]
14 ; SSE41-NEXT: pmuludq %xmm2, %xmm3
15 ; SSE41-NEXT: pmuludq %xmm0, %xmm1
16 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
17 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3],xmm1[4,5],xmm3[6,7]
[all …]
Dpr12312.ll1 …N: llc -mtriple=x86_64-unknown-unknown -mattr=+sse4.1,-avx < %s | FileCheck %s --check-prefix SSE41
14 ; SSE41: veccond128
15 ; SSE41: ptest
16 ; SSE41: ret
32 ; SSE41: veccond256
33 ; SSE41: por
34 ; SSE41: ptest
35 ; SSE41: ret
51 ; SSE41: veccond512
52 ; SSE41: por
[all …]
Dvector-sext.ll4 …triple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
9 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X32-SSE41
24 ; SSE41-LABEL: sext_16i8_to_8i16:
25 ; SSE41: # BB#0: # %entry
26 ; SSE41-NEXT: pmovsxbw %xmm0, %xmm0
27 ; SSE41-NEXT: retq
34 ; X32-SSE41-LABEL: sext_16i8_to_8i16:
35 ; X32-SSE41: # BB#0: # %entry
36 ; X32-SSE41-NEXT: pmovsxbw %xmm0, %xmm0
37 ; X32-SSE41-NEXT: retl
[all …]
Dsse41-pmovxrm-intrinsics.ll2 …mtriple=x86_64-apple-darwin -mattr=+sse4.1 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE41
6 ; SSE41-LABEL: test_llvm_x86_sse41_pmovsxbw:
7 ; SSE41: ## BB#0:
8 ; SSE41-NEXT: pmovsxbw (%rdi), %xmm0
9 ; SSE41-NEXT: retq
22 ; SSE41-LABEL: test_llvm_x86_sse41_pmovsxbd:
23 ; SSE41: ## BB#0:
24 ; SSE41-NEXT: pmovsxbd (%rdi), %xmm0
25 ; SSE41-NEXT: retq
38 ; SSE41-LABEL: test_llvm_x86_sse41_pmovsxbq:
[all …]
Dvector-tzcnt-128.ll5 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
58 ; SSE41-LABEL: testv2i64:
59 ; SSE41: # BB#0:
60 ; SSE41-NEXT: pextrq $1, %xmm0, %rax
61 ; SSE41-NEXT: bsfq %rax, %rax
62 ; SSE41-NEXT: movl $64, %ecx
63 ; SSE41-NEXT: cmoveq %rcx, %rax
64 ; SSE41-NEXT: movd %rax, %xmm1
65 ; SSE41-NEXT: movd %xmm0, %rax
66 ; SSE41-NEXT: bsfq %rax, %rax
[all …]
Dvec_minmax_sint.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
34 ; SSE41-LABEL: max_gt_v2i64:
35 ; SSE41: # BB#0:
36 ; SSE41-NEXT: movdqa %xmm0, %xmm2
37 ; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [2147483648,0,2147483648,0]
38 ; SSE41-NEXT: movdqa %xmm1, %xmm3
39 ; SSE41-NEXT: pxor %xmm0, %xmm3
40 ; SSE41-NEXT: pxor %xmm2, %xmm0
41 ; SSE41-NEXT: movdqa %xmm0, %xmm4
42 ; SSE41-NEXT: pcmpgtd %xmm3, %xmm4
[all …]
Dvec_minmax_uint.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
34 ; SSE41-LABEL: max_gt_v2i64:
35 ; SSE41: # BB#0:
36 ; SSE41-NEXT: movdqa %xmm0, %xmm2
37 ; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [2147483648,2147483648,2147483648,2147483648]
38 ; SSE41-NEXT: movdqa %xmm1, %xmm3
39 ; SSE41-NEXT: pxor %xmm0, %xmm3
40 ; SSE41-NEXT: pxor %xmm2, %xmm0
41 ; SSE41-NEXT: movdqa %xmm0, %xmm4
42 ; SSE41-NEXT: pcmpgtd %xmm3, %xmm4
[all …]
Dvector-blend.ll3 … %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE41
22 ; SSE41-LABEL: vsel_float:
23 ; SSE41: # BB#0: # %entry
24 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
25 ; SSE41-NEXT: retq
49 ; SSE41-LABEL: vsel_float2:
50 ; SSE41: # BB#0: # %entry
51 ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
52 ; SSE41-NEXT: retq
76 ; SSE41-LABEL: vsel_4xi8:
[all …]
Dvector-shift-lshr-128.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
27 ; SSE41-LABEL: var_shift_v2i64:
28 ; SSE41: # BB#0:
29 ; SSE41-NEXT: movdqa %xmm0, %xmm2
30 ; SSE41-NEXT: psrlq %xmm1, %xmm2
31 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
32 ; SSE41-NEXT: psrlq %xmm1, %xmm0
33 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm2[0,1,2,3],xmm0[4,5,6,7]
34 ; SSE41-NEXT: retq
100 ; SSE41-LABEL: var_shift_v4i32:
[all …]
Dvselect-2.ll3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE41
12 ; SSE41-LABEL: test1:
13 ; SSE41: # BB#0:
14 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
15 ; SSE41-NEXT: retq
26 ; SSE41-LABEL: test2:
27 ; SSE41: # BB#0:
28 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
29 ; SSE41-NEXT: retq
41 ; SSE41-LABEL: test3:
[all …]
Dvector-shift-ashr-128.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
34 ; SSE41-LABEL: var_shift_v2i64:
35 ; SSE41: # BB#0:
36 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808]
37 ; SSE41-NEXT: movdqa %xmm2, %xmm3
38 ; SSE41-NEXT: psrlq %xmm1, %xmm3
39 ; SSE41-NEXT: pshufd {{.*#+}} xmm4 = xmm1[2,3,0,1]
40 ; SSE41-NEXT: psrlq %xmm4, %xmm2
41 ; SSE41-NEXT: pblendw {{.*#+}} xmm2 = xmm3[0,1,2,3],xmm2[4,5,6,7]
42 ; SSE41-NEXT: movdqa %xmm0, %xmm3
[all …]
Dvector-shift-shl-128.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
27 ; SSE41-LABEL: var_shift_v2i64:
28 ; SSE41: # BB#0:
29 ; SSE41-NEXT: movdqa %xmm0, %xmm2
30 ; SSE41-NEXT: psllq %xmm1, %xmm2
31 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
32 ; SSE41-NEXT: psllq %xmm1, %xmm0
33 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm2[0,1,2,3],xmm0[4,5,6,7]
34 ; SSE41-NEXT: retq
89 ; SSE41-LABEL: var_shift_v4i32:
[all …]
Dvector-rotate-128.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
36 ; SSE41-LABEL: var_rotate_v2i64:
37 ; SSE41: # BB#0:
38 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [64,64]
39 ; SSE41-NEXT: psubq %xmm1, %xmm2
40 ; SSE41-NEXT: movdqa %xmm0, %xmm3
41 ; SSE41-NEXT: psllq %xmm1, %xmm3
42 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
43 ; SSE41-NEXT: movdqa %xmm0, %xmm4
44 ; SSE41-NEXT: psllq %xmm1, %xmm4
[all …]
Dvector-popcnt-128.ll5 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
68 ; SSE41-LABEL: testv2i64:
69 ; SSE41: # BB#0:
70 ; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
71 ; SSE41-NEXT: movdqa %xmm0, %xmm2
72 ; SSE41-NEXT: pand %xmm1, %xmm2
73 ; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
74 ; SSE41-NEXT: movdqa %xmm3, %xmm4
75 ; SSE41-NEXT: pshufb %xmm2, %xmm4
76 ; SSE41-NEXT: psrlw $4, %xmm0
[all …]
Dvector-lzcnt-128.ll4 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
65 ; SSE41-LABEL: testv2i64:
66 ; SSE41: # BB#0:
67 ; SSE41-NEXT: pextrq $1, %xmm0, %rax
68 ; SSE41-NEXT: bsrq %rax, %rax
69 ; SSE41-NEXT: movl $127, %ecx
70 ; SSE41-NEXT: cmoveq %rcx, %rax
71 ; SSE41-NEXT: xorq $63, %rax
72 ; SSE41-NEXT: movd %rax, %xmm1
73 ; SSE41-NEXT: movd %xmm0, %rax
[all …]
Dvector-shuffle-128-v8.ll4 …cpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
49 ; SSE41-LABEL: shuffle_v8i16_456789AB:
50 ; SSE41: # BB#0:
51 ; SSE41-NEXT: palignr {{.*#+}} xmm1 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
52 ; SSE41-NEXT: movdqa %xmm1, %xmm0
53 ; SSE41-NEXT: retq
76 ; SSE41-LABEL: shuffle_v8i16_00000000:
77 ; SSE41: # BB#0:
78 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]
79 ; SSE41-NEXT: retq
[all …]
Dvec_cmp_uint-128.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
24 ; SSE41-LABEL: eq_v2i64:
25 ; SSE41: # BB#0:
26 ; SSE41-NEXT: pcmpeqq %xmm1, %xmm0
27 ; SSE41-NEXT: retq
122 ; SSE41-LABEL: ne_v2i64:
123 ; SSE41: # BB#0:
124 ; SSE41-NEXT: pcmpeqq %xmm1, %xmm0
125 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm1
126 ; SSE41-NEXT: pxor %xmm1, %xmm0
[all …]
Dvec_setcc.ll2 … < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=sse4.1 | FileCheck %s -check-prefix=SSE41
13 ; SSE41-LABEL: v16i8_icmp_uge:
14 ; SSE41: pmaxub %xmm0, %xmm1
15 ; SSE41: pcmpeqb %xmm1, %xmm0
30 ; SSE41-LABEL: v16i8_icmp_ule:
31 ; SSE41: pminub %xmm0, %xmm1
32 ; SSE41: pcmpeqb %xmm1, %xmm0
49 ; SSE41-LABEL: v8i16_icmp_uge:
50 ; SSE41: pmaxuw %xmm0, %xmm1
51 ; SSE41: pcmpeqw %xmm1, %xmm0
[all …]
Dvec_cmp_sint-128.ll3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
24 ; SSE41-LABEL: eq_v2i64:
25 ; SSE41: # BB#0:
26 ; SSE41-NEXT: pcmpeqq %xmm1, %xmm0
27 ; SSE41-NEXT: retq
122 ; SSE41-LABEL: ne_v2i64:
123 ; SSE41: # BB#0:
124 ; SSE41-NEXT: pcmpeqq %xmm1, %xmm0
125 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm1
126 ; SSE41-NEXT: pxor %xmm1, %xmm0
[all …]
Dvector-trunc.ll4 …-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
30 ; SSE41-LABEL: trunc8i64_8i32:
31 ; SSE41: # BB#0: # %entry
32 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,2]
33 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
34 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
35 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm3[0,1,0,2]
36 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
37 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm3[4,5,6,7]
38 ; SSE41-NEXT: retq
[all …]
Dpmul.ll3 …triple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
24 ; SSE41-LABEL: mul8c:
25 ; SSE41: # BB#0: # %entry
26 ; SSE41-NEXT: pmovsxbw %xmm0, %xmm1
27 ; SSE41-NEXT: pmovsxbw {{.*}}(%rip), %xmm2
28 ; SSE41-NEXT: pmullw %xmm2, %xmm1
29 ; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255]
30 ; SSE41-NEXT: pand %xmm3, %xmm1
31 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
32 ; SSE41-NEXT: pmovsxbw %xmm0, %xmm0
[all …]
Dvector-zext.ll4 …triple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
21 ; SSE41-LABEL: zext_16i8_to_8i16:
22 ; SSE41: # BB#0: # %entry
23 ; SSE41-NEXT: pmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[…
24 ; SSE41-NEXT: retq
54 ; SSE41-LABEL: zext_16i8_to_16i16:
55 ; SSE41: # BB#0: # %entry
56 ; SSE41-NEXT: movdqa %xmm0, %xmm1
57 ; SSE41-NEXT: pxor %xmm2, %xmm2
58 ; SSE41-NEXT: pmovzxbw {{.*#+}} xmm0 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[…
[all …]
Dvector-shuffle-128-v4.ll5 …cpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
264 ; SSE41-LABEL: shuffle_v4f32_0022:
265 ; SSE41: # BB#0:
266 ; SSE41-NEXT: movsldup {{.*#+}} xmm0 = xmm0[0,0,2,2]
267 ; SSE41-NEXT: retq
292 ; SSE41-LABEL: shuffle_v4f32_1133:
293 ; SSE41: # BB#0:
294 ; SSE41-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
295 ; SSE41-NEXT: retq
324 ; SSE41-LABEL: shuffle_v4i32_0124:
[all …]
Dvector-shuffle-128-v16.ll4 …cpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
34 ; SSE41-LABEL: shuffle_v16i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00:
35 ; SSE41: # BB#0:
36 ; SSE41-NEXT: pxor %xmm1, %xmm1
37 ; SSE41-NEXT: pshufb %xmm1, %xmm0
38 ; SSE41-NEXT: retq
68 ; SSE41-LABEL: shuffle_v16i8_00_00_00_00_00_00_00_00_01_01_01_01_01_01_01_01:
69 ; SSE41: # BB#0:
70 ; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]
71 ; SSE41-NEXT: retq
[all …]
/external/llvm/test/Analysis/CostModel/X86/
Dsse-itoi.ll2 …le=x86_64-apple-darwin -mattr=+sse4.1 -cost-model -analyze < %s | FileCheck --check-prefix=SSE41 %s
8 ; SSE41: zext_v16i16_to_v16i32
9 ; SSE41: cost of 4 {{.*}} zext
21 ; SSE41: sext_v16i16_to_v16i32
22 ; SSE41: cost of 4 {{.*}} sext
34 ; SSE41: zext_v8i16_to_v8i32
35 ; SSE41: cost of 2 {{.*}} zext
47 ; SSE41: sext_v8i16_to_v8i32
48 ; SSE41: cost of 2 {{.*}} sext
60 ; SSE41: zext_v4i16_to_v4i32
[all …]

12