/external/llvm/test/CodeGen/X86/ |
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 | vector-idiv.ll | 3 ; RUN: llc -march=x86-64 -mcpu=core2 < %s | FileCheck %s --check-prefix=SSE 24 ; SSE-LABEL: test1: 25 ; SSE: # BB#0: 26 ; SSE-NEXT: movdqa {{.*#+}} xmm1 = [613566757,613566757,613566757,613566757] 27 ; SSE-NEXT: movdqa %xmm0, %xmm2 28 ; SSE-NEXT: pmuludq %xmm1, %xmm2 29 ; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm2[1,3,2,3] 30 ; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3] 31 ; SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm0[1,1,3,3] 32 ; SSE-NEXT: pmuludq %xmm1, %xmm3 [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 | fmaxnum.ll | 1 …ple=x86_64-unknown-unknown -mattr=sse2 < %s | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 19 ; SSE: movaps %xmm0, %xmm2 20 ; SSE-NEXT: cmpunordss %xmm2, %xmm2 21 ; SSE-NEXT: movaps %xmm2, %xmm3 22 ; SSE-NEXT: andps %xmm1, %xmm3 23 ; SSE-NEXT: maxss %xmm0, %xmm1 24 ; SSE-NEXT: andnps %xmm1, %xmm2 25 ; SSE-NEXT: orps %xmm3, %xmm2 26 ; SSE-NEXT: movaps %xmm2, %xmm0 27 ; SSE-NEXT: retq [all …]
|
D | sse-scalar-fp-arith.ll | 1 ; RUN: llc -mcpu=x86-64 -mattr=+sse2 < %s | FileCheck --check-prefix=SSE --check-prefix=SSE2 %s 2 ; RUN: llc -mcpu=x86-64 -mattr=+sse4.1 < %s | FileCheck --check-prefix=SSE --check-prefix=SSE41 %s 8 ; instructions immediately after SSE scalar fp instructions 12 ; SSE-LABEL: test_add_ss: 13 ; SSE: # BB#0: 14 ; SSE-NEXT: addss %xmm1, %xmm0 15 ; SSE-NEXT: retq 29 ; SSE-LABEL: test_sub_ss: 30 ; SSE: # BB#0: 31 ; SSE-NEXT: subss %xmm1, %xmm0 [all …]
|
D | vector-rotate-128.ll | 2 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41 10 …-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=X32-SSE --check-prefix=X32-… 83 ; X32-SSE-LABEL: var_rotate_v2i64: 84 ; X32-SSE: # BB#0: 85 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [64,0,64,0] 86 ; X32-SSE-NEXT: psubq %xmm1, %xmm2 87 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,0,1] 88 ; X32-SSE-NEXT: movdqa %xmm0, %xmm4 89 ; X32-SSE-NEXT: psllq %xmm3, %xmm4 [all …]
|
D | vector-shift-shl-128.ll | 2 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41 10 …-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=X32-SSE --check-prefix=X32-… 59 ; X32-SSE-LABEL: var_shift_v2i64: 60 ; X32-SSE: # BB#0: 61 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,0,1] 62 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2 63 ; X32-SSE-NEXT: psllq %xmm3, %xmm2 64 ; X32-SSE-NEXT: movq {{.*#+}} xmm1 = xmm1[0],zero 65 ; X32-SSE-NEXT: psllq %xmm1, %xmm0 [all …]
|
D | vector-shift-ashr-128.ll | 2 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41 10 …-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=X32-SSE --check-prefix=X32-… 80 ; X32-SSE-LABEL: var_shift_v2i64: 81 ; X32-SSE: # BB#0: 82 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm1[2,3,0,1] 83 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm3 = [0,2147483648,0,2147483648] 84 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4 85 ; X32-SSE-NEXT: psrlq %xmm2, %xmm4 86 ; X32-SSE-NEXT: movq {{.*#+}} xmm5 = xmm1[0],zero [all …]
|
D | vector-shift-lshr-128.ll | 2 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41 10 …-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=X32-SSE --check-prefix=X32-… 61 ; X32-SSE-LABEL: var_shift_v2i64: 62 ; X32-SSE: # BB#0: 63 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,0,1] 64 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2 65 ; X32-SSE-NEXT: psrlq %xmm3, %xmm2 66 ; X32-SSE-NEXT: movq {{.*#+}} xmm1 = xmm1[0],zero 67 ; X32-SSE-NEXT: psrlq %xmm1, %xmm0 [all …]
|
D | sse3-avx-addsub-2.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+sse3 | FileCheck %s --check-prefix=SSE 9 ; SSE-LABEL: test1: 10 ; SSE: # BB#0: 11 ; SSE-NEXT: addsubps %xmm1, %xmm0 12 ; SSE-NEXT: retq 38 ; SSE-LABEL: test2: 39 ; SSE: # BB#0: 40 ; SSE-NEXT: addsubps %xmm1, %xmm0 41 ; SSE-NEXT: retq 59 ; SSE-LABEL: test3: [all …]
|
D | pmul.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=SSE --check-prefix=SS… 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --… 57 ; SSE-LABEL: mul16c: 58 ; SSE: # BB#0: # %entry 59 ; SSE-NEXT: pmullw {{.*}}(%rip), %xmm0 60 ; SSE-NEXT: retq 99 ; SSE-LABEL: b: 100 ; SSE: # BB#0: # %entry 101 ; SSE-NEXT: movdqa {{.*#+}} xmm1 = [117,117] 102 ; SSE-NEXT: movdqa %xmm0, %xmm2 [all …]
|
D | sse3-avx-addsub.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+sse3 | FileCheck %s --check-prefix=SSE 39 ; SSE-LABEL: test1: 40 ; SSE: # BB#0: 41 ; SSE-NEXT: addsubps %xmm1, %xmm0 42 ; SSE-NEXT: retq 55 ; SSE-LABEL: test2: 56 ; SSE: # BB#0: 57 ; SSE-NEXT: addsubps %xmm2, %xmm0 58 ; SSE-NEXT: addsubps %xmm3, %xmm1 59 ; SSE-NEXT: retq [all …]
|
D | preserve_mostcc64.ll | 1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 | FileCheck --check-prefix=SSE %s 7 ;SSE-LABEL: preserve_mostcc1 8 ;SSE: pushq %r10 9 ;SSE-NEXT: pushq %r9 10 ;SSE-NEXT: pushq %r8 11 ;SSE-NEXT: pushq %rdi 12 ;SSE-NEXT: pushq %rsi 13 ;SSE-NEXT: pushq %rdx 14 ;SSE-NEXT: pushq %rcx 15 ;SSE-NEXT: pushq %rax [all …]
|
D | machine-combiner.ll | 1 …known-unknown -mcpu=x86-64 -mattr=sse -enable-unsafe-fp-math < %s | FileCheck %s --check-prefix=SSE 8 ; SSE-LABEL: reassociate_adds1: 9 ; SSE: # BB#0: 10 ; SSE-NEXT: addss %xmm1, %xmm0 11 ; SSE-NEXT: addss %xmm3, %xmm2 12 ; SSE-NEXT: addss %xmm2, %xmm0 13 ; SSE-NEXT: retq 28 ; SSE-LABEL: reassociate_adds2: 29 ; SSE: # BB#0: 30 ; SSE-NEXT: addss %xmm1, %xmm0 [all …]
|
D | preserve_allcc64.ll | 1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 | FileCheck --check-prefix=SSE %s 6 ;SSE-LABEL: preserve_allcc1 7 ;SSE: pushq %r10 8 ;SSE-NEXT: pushq %r9 9 ;SSE-NEXT: pushq %r8 10 ;SSE-NEXT: pushq %rdi 11 ;SSE-NEXT: pushq %rsi 12 ;SSE-NEXT: pushq %rdx 13 ;SSE-NEXT: pushq %rcx 14 ;SSE-NEXT: pushq %rax [all …]
|
D | fold-load-binops.ll | 2 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+sse2 < %s | FileCheck %s --check-prefix=SSE 10 ; SSE-LABEL: addss: 11 ; SSE: # BB#0: 12 ; SSE-NEXT: addss (%rdi), %xmm0 13 ; SSE-NEXT: retq 27 ; SSE-LABEL: addsd: 28 ; SSE: # BB#0: 29 ; SSE-NEXT: addsd (%rdi), %xmm0 30 ; SSE-NEXT: retq 44 ; SSE-LABEL: subss: [all …]
|
D | vec_uint_to_fp-fastmath.ll | 2 ; RUN: | FileCheck %s --check-prefix=CHECK --check-prefix=SSE --check-prefix=CST 4 ; RUN: | FileCheck %s --check-prefix=CHECK --check-prefix=SSE --check-prefix=CST 29 ; SSE-LABEL: test_uitofp_v4i32_to_v4f32: 30 ; SSE: # BB#0: 31 ; SSE-NEXT: movaps {{.*#+}} xmm1 = [65535,65535,65535,65535] 32 ; SSE-NEXT: andps %xmm0, %xmm1 33 ; SSE-NEXT: cvtdq2ps %xmm1, %xmm1 34 ; SSE-NEXT: psrld $16, %xmm0 35 ; SSE-NEXT: cvtdq2ps %xmm0, %xmm0 36 ; SSE-NEXT: mulps [[FPMASKCSTADDR]](%rip), %xmm0 [all …]
|
D | cmov-fp.ll | 1 ; RUN: llc -march x86 -mcpu pentium4 < %s | FileCheck %s -check-prefix=SSE 12 ; SSE-LABEL: test1: 13 ; SSE: movsd 31 ; SSE-LABEL: test2: 32 ; SSE: movsd 49 ; SSE-LABEL: test3: 50 ; SSE: movsd 67 ; SSE-LABEL: test4: 68 ; SSE: movsd 85 ; SSE-LABEL: test5: [all …]
|
D | x86-64-intrcc.ll | 60 ; CHECK-SSE-NEXT: pushq %rax 61 ; CHECK-SSE-NEXT; pushq %r11 62 ; CHECK-SSE-NEXT: pushq %rbp 63 ; CHECK-SSE-NEXT: pushq %rbx 64 ; CHECK-SSE-NEXT: movaps %xmm0 65 ; CHECK-SSE-NEXT: movaps %xmm0 66 ; CHECK-SSE-NEXT: popq %rbx 67 ; CHECK-SSE-NEXT: popq %rbp 68 ; CHECK-SSE-NEXT: popq %r11 69 ; CHECK-SSE-NEXT: popq %rax [all …]
|
D | vec_cmp_sint-128.ll | 2 …known-unknown -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 3 …wn-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41 4 …wn-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE42 49 ; SSE-LABEL: eq_v4i32: 50 ; SSE: # BB#0: 51 ; SSE-NEXT: pcmpeqd %xmm1, %xmm0 52 ; SSE-NEXT: retq 69 ; SSE-LABEL: eq_v8i16: 70 ; SSE: # BB#0: 71 ; SSE-NEXT: pcmpeqw %xmm1, %xmm0 [all …]
|
D | exedeps-movq.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=sse2 | FileCheck %s --check-prefix=SSE 14 ; SSE-LABEL: store_floats: 15 ; SSE: # BB#0: 16 ; SSE-NEXT: addps %xmm0, %xmm0 17 ; SSE-NEXT: movlps %xmm0, (%rdi) 18 ; SSE-NEXT: retq 33 ; SSE-LABEL: store_double: 34 ; SSE: # BB#0: 35 ; SSE-NEXT: addpd %xmm0, %xmm0 36 ; SSE-NEXT: movlpd %xmm0, (%rdi) [all …]
|
D | rounding-ops.ll | 1 ; RUN: llc < %s -mtriple=x86_64-apple-macosx -mattr=+sse4.1 | FileCheck -check-prefix=CHECK-SSE %s 8 ; CHECK-SSE-LABEL: test1: 9 ; CHECK-SSE: roundss $9 21 ; CHECK-SSE-LABEL: test2: 22 ; CHECK-SSE: roundsd $9 34 ; CHECK-SSE-LABEL: test3: 35 ; CHECK-SSE: roundss $12 47 ; CHECK-SSE-LABEL: test4: 48 ; CHECK-SSE: roundsd $12 60 ; CHECK-SSE-LABEL: test5: [all …]
|
D | lower-vec-shift.ll | 2 …mtriple=x86_64-unknown-linux-gnu -mcpu=core2 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE 16 ; SSE: psrlw 17 ; SSE-NEXT: psrlw 18 ; SSE-NEXT: movss 33 ; SSE: psrlw 34 ; SSE-NEXT: psrlw 35 ; SSE-NEXT: movsd 50 ; SSE: psrld 51 ; SSE-NEXT: psrld 52 ; SSE-NEXT: movss [all …]
|
D | vector-shuffle-128-v2.ll | 2 …known-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2 3 … -mcpu=x86-64 -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3 4 …mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3 5 …cpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41 14 ; SSE-LABEL: shuffle_v2i64_00: 15 ; SSE: # BB#0: 16 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1] 17 ; SSE-NEXT: retq 37 ; SSE-LABEL: shuffle_v2i64_10: 38 ; SSE: # BB#0: [all …]
|
D | commute-fcmp.ll | 1 …N: llc -O3 -mtriple=x86_64-unknown -mcpu=x86-64 -mattr=+sse2 < %s | FileCheck %s --check-prefix=SSE 10 ;SSE-LABEL: commute_cmpps_eq 11 ;SSE: cmpeqps (%rdi), %xmm0 12 ;SSE-NEXT: retq 25 ;SSE-LABEL: commute_cmpps_ne 26 ;SSE: cmpneqps (%rdi), %xmm0 27 ;SSE-NEXT: retq 40 ;SSE-LABEL: commute_cmpps_ord 41 ;SSE: cmpordps (%rdi), %xmm0 42 ;SSE-NEXT: retq [all …]
|