/external/llvm-project/llvm/test/CodeGen/X86/ |
D | bitcast-int-to-vector-bool-sext.ll | 2 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2 3 …< %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3 14 ; SSE2-SSSE3-LABEL: ext_i2_2i64: 15 ; SSE2-SSSE3: # %bb.0: 16 ; SSE2-SSSE3-NEXT: movd %edi, %xmm0 17 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm0[0,1,0,1] 18 ; SSE2-SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [1,2] 19 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1 20 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm0, %xmm1 21 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,3,2] [all …]
|
D | bitcast-vector-bool.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE2-SSSE3 3 …UN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE2-SSSE3 13 ; SSE2-SSSE3-LABEL: bitcast_v2i64_to_v2i1: 14 ; SSE2-SSSE3: # %bb.0: 15 ; SSE2-SSSE3-NEXT: movmskpd %xmm0, %ecx 16 ; SSE2-SSSE3-NEXT: movl %ecx, %eax 17 ; SSE2-SSSE3-NEXT: shrb %al 18 ; SSE2-SSSE3-NEXT: addb %cl, %al 19 ; SSE2-SSSE3-NEXT: retq 48 ; SSE2-SSSE3-LABEL: bitcast_v4i32_to_v2i2: [all …]
|
D | bitcast-int-to-vector-bool-zext.ll | 2 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2 3 …< %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3 15 ; SSE2-SSSE3-LABEL: ext_i2_2i64: 16 ; SSE2-SSSE3: # %bb.0: 17 ; SSE2-SSSE3-NEXT: movd %edi, %xmm0 18 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm0[0,1,0,1] 19 ; SSE2-SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [1,2] 20 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1 21 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm0, %xmm1 22 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,3,2] [all …]
|
D | bitcast-and-setcc-256.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+SSE2 | FileCheck %s --check-prefix=SSE2-SSSE3 3 …UN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+SSSE3 | FileCheck %s --check-prefix=SSE2-SSSE3 10 ; SSE2-SSSE3-LABEL: v4i64: 11 ; SSE2-SSSE3: # %bb.0: 12 ; SSE2-SSSE3-NEXT: movdqa {{.*#+}} xmm8 = [2147483648,2147483648] 13 ; SSE2-SSSE3-NEXT: pxor %xmm8, %xmm3 14 ; SSE2-SSSE3-NEXT: pxor %xmm8, %xmm1 15 ; SSE2-SSSE3-NEXT: movdqa %xmm1, %xmm9 16 ; SSE2-SSSE3-NEXT: pcmpgtd %xmm3, %xmm9 17 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm3, %xmm1 [all …]
|
D | vector-trunc-usat.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSSE3 38 ; SSSE3-LABEL: trunc_usat_v2i64_v2i32: 39 ; SSSE3: # %bb.0: 40 ; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259456,9223372039002259456] 41 ; SSSE3-NEXT: pxor %xmm0, %xmm1 42 ; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [9223372039002259455,9223372039002259455] 43 ; SSSE3-NEXT: movdqa %xmm2, %xmm3 44 ; SSSE3-NEXT: pcmpgtd %xmm1, %xmm3 45 ; SSSE3-NEXT: pshufd {{.*#+}} xmm4 = xmm3[0,0,2,2] 46 ; SSSE3-NEXT: pcmpeqd %xmm2, %xmm1 [all …]
|
D | phaddsub.ll | 2 …%s -mtriple=x86_64-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSSE3,SSSE3-SLOW 3 …%s -mtriple=x86_64-unknown -mattr=+ssse3,fast-hops | FileCheck %s --check-prefixes=SSSE3,SSSE3-FAST 11 ; SSSE3-LABEL: phaddw1: 12 ; SSSE3: # %bb.0: 13 ; SSSE3-NEXT: phaddw %xmm1, %xmm0 14 ; SSSE3-NEXT: retq 27 ; SSSE3-LABEL: phaddw2: 28 ; SSSE3: # %bb.0: 29 ; SSSE3-NEXT: phaddw %xmm1, %xmm0 30 ; SSSE3-NEXT: retq [all …]
|
D | vector-trunc-packus.ll | 3 …mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3 50 ; SSSE3-LABEL: trunc_packus_v2i64_v2i32: 51 ; SSSE3: # %bb.0: 52 ; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [2147483648,2147483648] 53 ; SSSE3-NEXT: movdqa %xmm0, %xmm2 54 ; SSSE3-NEXT: pxor %xmm1, %xmm2 55 ; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [2147483647,2147483647] 56 ; SSSE3-NEXT: movdqa %xmm3, %xmm4 57 ; SSSE3-NEXT: pcmpgtd %xmm2, %xmm4 58 ; SSSE3-NEXT: pshufd {{.*#+}} xmm5 = xmm4[0,0,2,2] [all …]
|
D | vector-trunc-ssat.ll | 3 …mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3 52 ; SSSE3-LABEL: trunc_ssat_v2i64_v2i32: 53 ; SSSE3: # %bb.0: 54 ; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [2147483648,2147483648] 55 ; SSSE3-NEXT: movdqa %xmm0, %xmm2 56 ; SSSE3-NEXT: pxor %xmm1, %xmm2 57 ; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [4294967295,4294967295] 58 ; SSSE3-NEXT: movdqa %xmm3, %xmm4 59 ; SSSE3-NEXT: pcmpgtd %xmm2, %xmm4 60 ; SSSE3-NEXT: pshufd {{.*#+}} xmm5 = xmm4[0,0,2,2] [all …]
|
D | bitcast-setcc-256.ll | 2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+SSE2 | FileCheck %s --check-prefix=SSE2-SSSE3 3 …UN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+SSSE3 | FileCheck %s --check-prefix=SSE2-SSSE3 10 ; SSE2-SSSE3-LABEL: v16i16: 11 ; SSE2-SSSE3: # %bb.0: 12 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm3, %xmm1 13 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm2, %xmm0 14 ; SSE2-SSSE3-NEXT: packsswb %xmm1, %xmm0 15 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax 16 ; SSE2-SSSE3-NEXT: # kill: def $ax killed $ax killed $eax 17 ; SSE2-SSSE3-NEXT: retq [all …]
|
D | haddsub-3.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSSE3… 4 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3,fast-hops | FileCheck %s --check-prefix=SSSE3… 20 ; SSSE3-SLOW-LABEL: pr26491: 21 ; SSSE3-SLOW: # %bb.0: 22 ; SSSE3-SLOW-NEXT: movshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] 23 ; SSSE3-SLOW-NEXT: addps %xmm0, %xmm1 24 ; SSSE3-SLOW-NEXT: movaps %xmm1, %xmm0 25 ; SSSE3-SLOW-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1] 26 ; SSSE3-SLOW-NEXT: addss %xmm1, %xmm0 27 ; SSSE3-SLOW-NEXT: retq [all …]
|
D | bitcast-int-to-vector-bool.ll | 2 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2 3 …< %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3 9 ; SSE2-SSSE3-LABEL: bitcast_i2_2i1: 10 ; SSE2-SSSE3: # %bb.0: 11 ; SSE2-SSSE3-NEXT: movd %edi, %xmm0 12 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm0[0,1,0,1] 13 ; SSE2-SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [1,2] 14 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm1 15 ; SSE2-SSSE3-NEXT: pcmpeqd %xmm0, %xmm1 16 ; SSE2-SSSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,0,3,2] [all …]
|
D | horizontal-reduce-add.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSSE3… 4 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3,fast-hops | FileCheck %s --check-prefix=SSSE3… 21 ; SSSE3-SLOW-LABEL: PR37890_v4i32: 22 ; SSSE3-SLOW: # %bb.0: 23 ; SSSE3-SLOW-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3] 24 ; SSSE3-SLOW-NEXT: paddd %xmm0, %xmm1 25 ; SSSE3-SLOW-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1] 26 ; SSSE3-SLOW-NEXT: paddd %xmm1, %xmm0 27 ; SSSE3-SLOW-NEXT: movd %xmm0, %eax 28 ; SSSE3-SLOW-NEXT: retq [all …]
|
D | vec_smulo.ll | 3 …N: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3 82 ; SSSE3-LABEL: smulo_v2i32: 83 ; SSSE3: # %bb.0: 84 ; SSSE3-NEXT: pxor %xmm2, %xmm2 85 ; SSSE3-NEXT: pxor %xmm3, %xmm3 86 ; SSSE3-NEXT: pcmpgtd %xmm1, %xmm3 87 ; SSSE3-NEXT: pand %xmm0, %xmm3 88 ; SSSE3-NEXT: pcmpgtd %xmm0, %xmm2 89 ; SSSE3-NEXT: pand %xmm1, %xmm2 90 ; SSSE3-NEXT: paddd %xmm3, %xmm2 [all …]
|
D | horizontal-reduce-fadd.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSSE3… 4 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3,fast-hops | FileCheck %s --check-prefix=SSSE3… 22 ; SSSE3-SLOW-LABEL: PR37890_v4f32: 23 ; SSSE3-SLOW: # %bb.0: 24 ; SSSE3-SLOW-NEXT: movaps %xmm0, %xmm1 25 ; SSSE3-SLOW-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1] 26 ; SSSE3-SLOW-NEXT: addps %xmm0, %xmm1 27 ; SSSE3-SLOW-NEXT: movshdup {{.*#+}} xmm0 = xmm1[1,1,3,3] 28 ; SSSE3-SLOW-NEXT: addss %xmm0, %xmm1 29 ; SSSE3-SLOW-NEXT: movaps %xmm1, %xmm0 [all …]
|
D | bitcast-and-setcc-128.ll | 2 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2 3 …< %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3 10 ; SSE2-SSSE3-LABEL: v8i16: 11 ; SSE2-SSSE3: # %bb.0: 12 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm1, %xmm0 13 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm3, %xmm2 14 ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm2 15 ; SSE2-SSSE3-NEXT: packsswb %xmm2, %xmm2 16 ; SSE2-SSSE3-NEXT: pmovmskb %xmm2, %eax 17 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax [all …]
|
D | vector-shuffle-variable-128.ll | 3 …N: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3 89 ; SSSE3-LABEL: var_shuffle_v4f32_v4f32_xxxx_i32: 90 ; SSSE3: # %bb.0: 91 ; SSSE3-NEXT: # kill: def $ecx killed $ecx def $rcx 92 ; SSSE3-NEXT: # kill: def $edx killed $edx def $rdx 93 ; SSSE3-NEXT: # kill: def $esi killed $esi def $rsi 94 ; SSSE3-NEXT: # kill: def $edi killed $edi def $rdi 95 ; SSSE3-NEXT: andl $3, %edi 96 ; SSSE3-NEXT: andl $3, %esi 97 ; SSSE3-NEXT: andl $3, %edx [all …]
|
D | vector-blend.ll | 3 …mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3 17 ; SSSE3-LABEL: vsel_float: 18 ; SSSE3: # %bb.0: # %entry 19 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[1,3] 20 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3] 21 ; SSSE3-NEXT: retq 44 ; SSSE3-LABEL: vsel_float2: 45 ; SSSE3: # %bb.0: # %entry 46 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3] 47 ; SSSE3-NEXT: movaps %xmm1, %xmm0 [all …]
|
D | bitcast-setcc-128.ll | 2 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2 3 …< %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3 10 ; SSE2-SSSE3-LABEL: v8i16: 11 ; SSE2-SSSE3: # %bb.0: 12 ; SSE2-SSSE3-NEXT: pcmpgtw %xmm1, %xmm0 13 ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm0 14 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax 15 ; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax 16 ; SSE2-SSSE3-NEXT: retq 48 ; SSE2-SSSE3-LABEL: v4i32: [all …]
|
D | ssub_sat_vec.ll | 3 …N: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3 281 ; SSSE3-LABEL: v2i8: 282 ; SSSE3: # %bb.0: 283 ; SSSE3-NEXT: movzwl (%rdi), %eax 284 ; SSSE3-NEXT: movd %eax, %xmm0 285 ; SSSE3-NEXT: movzwl (%rsi), %eax 286 ; SSSE3-NEXT: movd %eax, %xmm1 287 ; SSSE3-NEXT: psubsb %xmm1, %xmm0 288 ; SSSE3-NEXT: movd %xmm0, %eax 289 ; SSSE3-NEXT: movw %ax, (%rdx) [all …]
|
D | sadd_sat_vec.ll | 3 …N: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3 281 ; SSSE3-LABEL: v2i8: 282 ; SSSE3: # %bb.0: 283 ; SSSE3-NEXT: movzwl (%rdi), %eax 284 ; SSSE3-NEXT: movd %eax, %xmm0 285 ; SSSE3-NEXT: movzwl (%rsi), %eax 286 ; SSSE3-NEXT: movd %eax, %xmm1 287 ; SSSE3-NEXT: paddsb %xmm0, %xmm1 288 ; SSSE3-NEXT: movd %xmm1, %eax 289 ; SSSE3-NEXT: movw %ax, (%rdx) [all …]
|
D | vec_umulo.ll | 3 …N: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3 78 ; SSSE3-LABEL: umulo_v2i32: 79 ; SSSE3: # %bb.0: 80 ; SSSE3-NEXT: pshufd {{.*#+}} xmm2 = xmm0[1,1,3,3] 81 ; SSSE3-NEXT: pmuludq %xmm1, %xmm0 82 ; SSSE3-NEXT: pshufd {{.*#+}} xmm3 = xmm0[1,3,2,3] 83 ; SSSE3-NEXT: pshufd {{.*#+}} xmm4 = xmm1[1,1,3,3] 84 ; SSSE3-NEXT: pmuludq %xmm2, %xmm4 85 ; SSSE3-NEXT: pshufd {{.*#+}} xmm1 = xmm4[1,3,2,3] 86 ; SSSE3-NEXT: punpckldq {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1] [all …]
|
/external/llvm/test/CodeGen/X86/ |
D | vector-blend.ll | 3 …< %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=SSSE3 17 ; SSSE3-LABEL: vsel_float: 18 ; SSSE3: # BB#0: # %entry 19 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[1,3] 20 ; SSSE3-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3] 21 ; SSSE3-NEXT: retq 44 ; SSSE3-LABEL: vsel_float2: 45 ; SSSE3: # BB#0: # %entry 46 ; SSSE3-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3] 47 ; SSSE3-NEXT: movaps %xmm1, %xmm0 [all …]
|
D | phaddsub.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSSE3 6 ; SSSE3-LABEL: phaddw1: 7 ; SSSE3: # BB#0: 8 ; SSSE3-NEXT: phaddw %xmm1, %xmm0 9 ; SSSE3-NEXT: retq 22 ; SSSE3-LABEL: phaddw2: 23 ; SSSE3: # BB#0: 24 ; SSSE3-NEXT: phaddw %xmm1, %xmm0 25 ; SSSE3-NEXT: retq 38 ; SSSE3-LABEL: phaddd1: [all …]
|
D | vector-sext.ll | 3 …mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3 19 ; SSSE3-LABEL: sext_16i8_to_8i16: 20 ; SSSE3: # BB#0: # %entry 21 ; SSSE3-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7] 22 ; SSSE3-NEXT: psraw $8, %xmm0 23 ; SSSE3-NEXT: retq 55 ; SSSE3-LABEL: sext_16i8_to_16i16: 56 ; SSSE3: # BB#0: # %entry 57 ; SSSE3-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],… 58 ; SSSE3-NEXT: psraw $8, %xmm2 [all …]
|
D | insertelement-zero.ll | 4 …mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3 25 ; SSSE3-LABEL: insert_v2f64_z1: 26 ; SSSE3: # BB#0: 27 ; SSSE3-NEXT: xorpd %xmm1, %xmm1 28 ; SSSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1] 29 ; SSSE3-NEXT: retq 61 ; SSSE3-LABEL: insert_v4f64_0zz3: 62 ; SSSE3: # BB#0: 63 ; SSSE3-NEXT: xorpd %xmm2, %xmm2 64 ; SSSE3-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0] [all …]
|