/external/llvm/test/CodeGen/X86/ |
D | vector-idiv.ll | 2 ; 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 …]
|
D | pr12312.ll | 1 …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 …]
|
D | vector-sext.ll | 4 …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 …]
|
D | sse41-pmovxrm-intrinsics.ll | 2 …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 …]
|
D | vector-tzcnt-128.ll | 5 …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 …]
|
D | vec_minmax_sint.ll | 3 …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 …]
|
D | vec_minmax_uint.ll | 3 …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 …]
|
D | vector-blend.ll | 3 … %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 …]
|
D | vector-shift-lshr-128.ll | 3 …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 …]
|
D | vselect-2.ll | 3 ; 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 …]
|
D | vector-shift-ashr-128.ll | 3 …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 …]
|
D | vector-shift-shl-128.ll | 3 …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 …]
|
D | vector-rotate-128.ll | 3 …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 …]
|
D | vector-popcnt-128.ll | 5 …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 …]
|
D | vector-lzcnt-128.ll | 4 …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 …]
|
D | vector-shuffle-128-v8.ll | 4 …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 …]
|
D | vec_cmp_uint-128.ll | 3 …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 …]
|
D | vec_setcc.ll | 2 … < %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 …]
|
D | vec_cmp_sint-128.ll | 3 …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 …]
|
D | vector-trunc.ll | 4 …-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 …]
|
D | pmul.ll | 3 …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 …]
|
D | vector-zext.ll | 4 …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 …]
|
D | vector-shuffle-128-v4.ll | 5 …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 …]
|
D | vector-shuffle-128-v16.ll | 4 …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/ |
D | sse-itoi.ll | 2 …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 …]
|