/external/llvm/test/CodeGen/X86/ |
D | widen_bitops-0.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X32-SSE --check-… 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X64-SSE --chec… 10 ; X32-SSE-LABEL: and_i24_as_v3i8: 11 ; X32-SSE: # BB#0: 12 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax 13 ; X32-SSE-NEXT: andl {{[0-9]+}}(%esp), %eax 14 ; X32-SSE-NEXT: retl 16 ; X64-SSE-LABEL: and_i24_as_v3i8: 17 ; X64-SSE: # BB#0: 18 ; X64-SSE-NEXT: andl %esi, %edi [all …]
|
D | vec_fp_to_int.ll | 1 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 14 ; SSE-LABEL: fptosi_2f64_to_2i64: 15 ; SSE: # BB#0: 16 ; SSE-NEXT: cvttsd2si %xmm0, %rax 17 ; SSE-NEXT: movd %rax, %xmm1 18 ; SSE-NEXT: shufpd {{.*#+}} xmm0 = xmm0[1,0] 19 ; SSE-NEXT: cvttsd2si %xmm0, %rax 20 ; SSE-NEXT: movd %rax, %xmm0 21 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0] 22 ; SSE-NEXT: movdqa %xmm1, %xmm0 [all …]
|
D | widen_bitops-1.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X32-SSE --check-… 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X64-SSE --chec… 10 ; X32-SSE-LABEL: and_i32_as_v4i8: 11 ; X32-SSE: # BB#0: 12 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax 13 ; X32-SSE-NEXT: andl {{[0-9]+}}(%esp), %eax 14 ; X32-SSE-NEXT: retl 16 ; X64-SSE-LABEL: and_i32_as_v4i8: 17 ; X64-SSE: # BB#0: 18 ; X64-SSE-NEXT: andl %esi, %edi [all …]
|
D | commute-fcmp.ll | 2 …N: llc -O3 -mtriple=x86_64-unknown -mcpu=x86-64 -mattr=+sse2 < %s | FileCheck %s --check-prefix=SSE 11 ; SSE-LABEL: commute_cmpps_eq: 12 ; SSE: # BB#0: 13 ; SSE-NEXT: cmpeqps (%rdi), %xmm0 14 ; SSE-NEXT: retq 28 ; SSE-LABEL: commute_cmpps_ne: 29 ; SSE: # BB#0: 30 ; SSE-NEXT: cmpneqps (%rdi), %xmm0 31 ; SSE-NEXT: retq 45 ; SSE-LABEL: commute_cmpps_ord: [all …]
|
D | vec_sdiv_to_shift.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-pr… 7 ; SSE-LABEL: sdiv_vec8x16: 8 ; SSE: # BB#0: # %entry 9 ; SSE-NEXT: movdqa %xmm0, %xmm1 10 ; SSE-NEXT: psraw $15, %xmm1 11 ; SSE-NEXT: psrlw $11, %xmm1 12 ; SSE-NEXT: paddw %xmm0, %xmm1 13 ; SSE-NEXT: psraw $5, %xmm1 14 ; SSE-NEXT: movdqa %xmm1, %xmm0 15 ; SSE-NEXT: retq [all …]
|
D | vec_int_to_fp.ll | 1 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 15 ; SSE-LABEL: sitofp_2i64_to_2f64: 16 ; SSE: # BB#0: 17 ; SSE-NEXT: movd %xmm0, %rax 18 ; SSE-NEXT: cvtsi2sdq %rax, %xmm1 19 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 20 ; SSE-NEXT: movd %xmm0, %rax 21 ; SSE-NEXT: xorps %xmm0, %xmm0 22 ; SSE-NEXT: cvtsi2sdq %rax, %xmm0 23 ; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0] [all …]
|
D | fminnum.ll | 1 …ple=x86_64-unknown-unknown -mattr=sse2 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 17 ; FIXME: As the vector tests show, the SSE run shouldn't need this many moves. 20 ; SSE: movaps %xmm0, %xmm2 21 ; SSE-NEXT: cmpunordss %xmm2, %xmm2 22 ; SSE-NEXT: movaps %xmm2, %xmm3 23 ; SSE-NEXT: andps %xmm1, %xmm3 24 ; SSE-NEXT: minss %xmm0, %xmm1 25 ; SSE-NEXT: andnps %xmm1, %xmm2 26 ; SSE-NEXT: orps %xmm3, %xmm2 27 ; SSE-NEXT: movaps %xmm2, %xmm0 [all …]
|
D | fmaxnum.ll | 1 …ple=x86_64-unknown-unknown -mattr=sse2 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 17 ; FIXME: As the vector tests show, the SSE run shouldn't need this many moves. 20 ; SSE: movaps %xmm0, %xmm2 21 ; SSE-NEXT: cmpunordss %xmm2, %xmm2 22 ; SSE-NEXT: movaps %xmm2, %xmm3 23 ; SSE-NEXT: andps %xmm1, %xmm3 24 ; SSE-NEXT: maxss %xmm0, %xmm1 25 ; SSE-NEXT: andnps %xmm1, %xmm2 26 ; SSE-NEXT: orps %xmm3, %xmm2 27 ; SSE-NEXT: movaps %xmm2, %xmm0 [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/test/CodeGen/X86/ |
D | widen_bitops-0.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X32-SSE --check-… 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X64-SSE --chec… 10 ; X32-SSE-LABEL: and_i24_as_v3i8: 11 ; X32-SSE: # %bb.0: 12 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax 13 ; X32-SSE-NEXT: andl {{[0-9]+}}(%esp), %eax 14 ; X32-SSE-NEXT: retl 16 ; X64-SSE-LABEL: and_i24_as_v3i8: 17 ; X64-SSE: # %bb.0: 18 ; X64-SSE-NEXT: andl %esi, %edi [all …]
|
D | widen_bitops-1.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X32-SSE --check-… 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X64-SSE --chec… 10 ; X32-SSE-LABEL: and_i32_as_v4i8: 11 ; X32-SSE: # %bb.0: 12 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax 13 ; X32-SSE-NEXT: andl {{[0-9]+}}(%esp), %eax 14 ; X32-SSE-NEXT: retl 16 ; X64-SSE-LABEL: and_i32_as_v4i8: 17 ; X64-SSE: # %bb.0: 18 ; X64-SSE-NEXT: andl %esi, %edi [all …]
|
D | i64-to-float.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X32-SSE 4 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X64-SSE 10 ; X32-SSE-LABEL: mask_sitofp_2i64_2f64: 11 ; X32-SSE: # %bb.0: 12 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 13 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0 14 ; X32-SSE-NEXT: cvtdq2pd %xmm0, %xmm0 15 ; X32-SSE-NEXT: retl 23 ; X64-SSE-LABEL: mask_sitofp_2i64_2f64: 24 ; X64-SSE: # %bb.0: [all …]
|
D | fminnum.ll | 2 …ple=x86_64-unknown-unknown -mattr=sse2 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 18 ; FIXME: As the vector tests show, the SSE run shouldn't need this many moves. 21 ; SSE-LABEL: test_fminf: 22 ; SSE: # %bb.0: 23 ; SSE-NEXT: movaps %xmm0, %xmm2 24 ; SSE-NEXT: cmpunordss %xmm0, %xmm2 25 ; SSE-NEXT: movaps %xmm2, %xmm3 26 ; SSE-NEXT: andps %xmm1, %xmm3 27 ; SSE-NEXT: minss %xmm0, %xmm1 28 ; SSE-NEXT: andnps %xmm1, %xmm2 [all …]
|
D | fmaxnum.ll | 2 …ple=x86_64-unknown-unknown -mattr=sse2 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 18 ; FIXME: As the vector tests show, the SSE run shouldn't need this many moves. 21 ; SSE-LABEL: test_fmaxf: 22 ; SSE: # %bb.0: 23 ; SSE-NEXT: movaps %xmm0, %xmm2 24 ; SSE-NEXT: cmpunordss %xmm0, %xmm2 25 ; SSE-NEXT: movaps %xmm2, %xmm3 26 ; SSE-NEXT: andps %xmm1, %xmm3 27 ; SSE-NEXT: maxss %xmm0, %xmm1 28 ; SSE-NEXT: andnps %xmm1, %xmm2 [all …]
|
D | combine-srl.ll | 2 …: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=CHECK,SSE 8 ; SSE-LABEL: combine_vec_lshr_zero: 9 ; SSE: # %bb.0: 10 ; SSE-NEXT: xorps %xmm0, %xmm0 11 ; SSE-NEXT: retq 49 ; SSE-LABEL: combine_vec_lshr_known_zero0: 50 ; SSE: # %bb.0: 51 ; SSE-NEXT: xorps %xmm0, %xmm0 52 ; SSE-NEXT: retq 64 ; SSE-LABEL: combine_vec_lshr_known_zero1: [all …]
|
D | combine-mul.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE 7 ; SSE-LABEL: combine_vec_mul_zero: 8 ; SSE: # %bb.0: 9 ; SSE-NEXT: xorps %xmm0, %xmm0 10 ; SSE-NEXT: retq 22 ; SSE-LABEL: combine_vec_mul_one: 23 ; SSE: # %bb.0: 24 ; SSE-NEXT: retq 35 ; SSE-LABEL: combine_vec_mul_negone: 36 ; SSE: # %bb.0: [all …]
|
D | sse-schedule.ll | 5 …nown -print-schedule -mcpu=sandybridge -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 7 …nknown -print-schedule -mcpu=ivybridge -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 9 …nknown -print-schedule -mcpu=haswell -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,HASWELL-SSE 11 …wn -print-schedule -mcpu=broadwell -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,BROADWELL-SSE 13 …nknown -print-schedule -mcpu=skylake -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SKYLAKE-SSE 15 …nknown-unknown -print-schedule -mcpu=skx -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SKX-SSE 17 …-unknown -print-schedule -mcpu=btver2 -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,BTVER2-SSE 19 …-unknown -print-schedule -mcpu=znver1 -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,ZNVER1-SSE 43 ; SANDY-SSE-LABEL: test_addps: 44 ; SANDY-SSE: # %bb.0: [all …]
|
D | sse2-schedule.ll | 5 …nown -print-schedule -mcpu=sandybridge -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 7 …nknown -print-schedule -mcpu=ivybridge -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 9 …nknown -print-schedule -mcpu=haswell -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,HASWELL-SSE 11 …wn -print-schedule -mcpu=broadwell -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,BROADWELL-SSE 13 …nknown -print-schedule -mcpu=skylake -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SKYLAKE-SSE 15 …nknown-unknown -print-schedule -mcpu=skx -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,SKX-SSE 17 …-unknown -print-schedule -mcpu=btver2 -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,BTVER2-SSE 19 …-unknown -print-schedule -mcpu=znver1 -mattr=-sse3 | FileCheck %s --check-prefixes=CHECK,ZNVER1-SSE 41 ; SANDY-SSE-LABEL: test_addpd: 42 ; SANDY-SSE: # %bb.0: [all …]
|
D | sse42-schedule.ll | 4 …nown -print-schedule -mcpu=sandybridge -mattr=-avx | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 6 …nknown -print-schedule -mcpu=ivybridge -mattr=-avx | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 8 …nknown -print-schedule -mcpu=haswell -mattr=-avx | FileCheck %s --check-prefixes=CHECK,HASWELL-SSE 10 …wn -print-schedule -mcpu=broadwell -mattr=-avx | FileCheck %s --check-prefixes=CHECK,BROADWELL-SSE 12 …nknown -print-schedule -mcpu=skylake -mattr=-avx | FileCheck %s --check-prefixes=CHECK,SKYLAKE-SSE 14 …nknown-unknown -print-schedule -mcpu=skx -mattr=-avx | FileCheck %s --check-prefixes=CHECK,SKX-SSE 16 …-unknown -print-schedule -mcpu=btver2 -mattr=-avx | FileCheck %s --check-prefixes=CHECK,BTVER2-SSE 18 …-unknown -print-schedule -mcpu=znver1 -mattr=-avx | FileCheck %s --check-prefixes=CHECK,ZNVER1-SSE 36 ; SANDY-SSE-LABEL: crc32_32_8: 37 ; SANDY-SSE: # %bb.0: [all …]
|
D | fast-isel-select-pseudo-cmov.ll | 2 … | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 3 …ast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 9 ; SSE-LABEL: select_fcmp_one_f32: 10 ; SSE: ## %bb.0: 11 ; SSE-NEXT: ucomiss %xmm1, %xmm0 12 ; SSE-NEXT: jne LBB0_2 13 ; SSE-NEXT: ## %bb.1: 14 ; SSE-NEXT: movaps %xmm3, %xmm2 15 ; SSE-NEXT: LBB0_2: 16 ; SSE-NEXT: movaps %xmm2, %xmm0 [all …]
|
D | combine-fcopysign.ll | 1 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE 11 ; SSE-LABEL: combine_vec_fcopysign_pos_constant0: 12 ; SSE: # %bb.0: 13 ; SSE-NEXT: andps {{.*}}(%rip), %xmm0 14 ; SSE-NEXT: retq 26 ; SSE-LABEL: combine_vec_fcopysign_pos_constant1: 27 ; SSE: # %bb.0: 28 ; SSE-NEXT: andps {{.*}}(%rip), %xmm0 29 ; SSE-NEXT: retq 41 ; SSE-LABEL: combine_vec_fcopysign_fabs_sgn: [all …]
|
D | combine-sra.ll | 2 …: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=CHECK,SSE 8 ; SSE-LABEL: combine_vec_ashr_zero: 9 ; SSE: # %bb.0: 10 ; SSE-NEXT: xorps %xmm0, %xmm0 11 ; SSE-NEXT: retq 23 ; SSE-LABEL: combine_vec_ashr_allones: 24 ; SSE: # %bb.0: 25 ; SSE-NEXT: pcmpeqd %xmm0, %xmm0 26 ; SSE-NEXT: retq 64 ; SSE-LABEL: combine_vec_ashr_ashr0: [all …]
|
D | sse41-schedule.ll | 4 …wn -print-schedule -mcpu=sandybridge -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 6 …nown -print-schedule -mcpu=ivybridge -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 8 …nown -print-schedule -mcpu=haswell -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,HASWELL-SSE 10 … -print-schedule -mcpu=broadwell -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,BROADWELL-SSE 12 …nown -print-schedule -mcpu=skylake -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,SKYLAKE-SSE 14 …nown-unknown -print-schedule -mcpu=skx -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,SKX-SSE 16 …nknown -print-schedule -mcpu=btver2 -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,BTVER2-SSE 18 …nknown -print-schedule -mcpu=znver1 -mattr=-sse4.2 | FileCheck %s --check-prefixes=CHECK,ZNVER1-SSE 36 ; SANDY-SSE-LABEL: test_blendpd: 37 ; SANDY-SSE: # %bb.0: [all …]
|
D | sse3-schedule.ll | 5 …own -print-schedule -mcpu=sandybridge -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 7 …known -print-schedule -mcpu=ivybridge -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 9 …known -print-schedule -mcpu=haswell -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,HASWELL-SSE 11 …n -print-schedule -mcpu=broadwell -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,BROADWELL-SSE 13 …known -print-schedule -mcpu=skylake -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,SKYLAKE-SSE 15 …known-unknown -print-schedule -mcpu=skx -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,SKX-SSE 17 …unknown -print-schedule -mcpu=btver2 -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,BTVER2-SSE 19 …unknown -print-schedule -mcpu=znver1 -mattr=-ssse3 | FileCheck %s --check-prefixes=CHECK,ZNVER1-SSE 41 ; SANDY-SSE-LABEL: test_addsubpd: 42 ; SANDY-SSE: # %bb.0: [all …]
|
D | ssse3-schedule.ll | 5 …wn -print-schedule -mcpu=sandybridge -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 7 …nown -print-schedule -mcpu=ivybridge -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,SANDY-SSE 9 …nown -print-schedule -mcpu=haswell -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,HASWELL-SSE 11 … -print-schedule -mcpu=broadwell -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,BROADWELL-SSE 13 …nown -print-schedule -mcpu=skylake -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,SKYLAKE-SSE 15 …nown-unknown -print-schedule -mcpu=skx -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,SKX-SSE 17 …nknown -print-schedule -mcpu=btver2 -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,BTVER2-SSE 19 …nknown -print-schedule -mcpu=znver1 -mattr=-sse4.1 | FileCheck %s --check-prefixes=CHECK,ZNVER1-SSE 46 ; SANDY-SSE-LABEL: test_pabsb: 47 ; SANDY-SSE: # %bb.0: [all …]
|
D | combine-udiv.ll | 2 …triple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 37 ; SSE-LABEL: combine_vec_udiv_by_negone: 38 ; SSE: # %bb.0: 39 ; SSE-NEXT: pcmpeqd %xmm1, %xmm1 40 ; SSE-NEXT: pcmpeqd %xmm1, %xmm0 41 ; SSE-NEXT: psrld $31, %xmm0 42 ; SSE-NEXT: retq 66 ; SSE-LABEL: combine_vec_udiv_by_minsigned: 67 ; SSE: # %bb.0: 68 ; SSE-NEXT: psrld $31, %xmm0 [all …]
|