diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/dag-merge-fast-accesses.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/dag-merge-fast-accesses.ll | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/dag-merge-fast-accesses.ll b/llvm/test/CodeGen/X86/dag-merge-fast-accesses.ll index e5dfccb278c..867881d83d3 100644 --- a/llvm/test/CodeGen/X86/dag-merge-fast-accesses.ll +++ b/llvm/test/CodeGen/X86/dag-merge-fast-accesses.ll @@ -51,11 +51,19 @@ define void @merge_vec_element_store(<4 x double> %v, double* %ptr) { } +;; TODO: FAST *should* be: +;; movups (%rdi), %xmm0 +;; movups %xmm0, 40(%rdi) +;; ..but is not currently. See the UseAA FIXME in DAGCombiner.cpp +;; visitSTORE. + define void @merge_vec_load_and_stores(i64 *%ptr) { ; FAST-LABEL: merge_vec_load_and_stores: ; FAST: # BB#0: -; FAST-NEXT: movups (%rdi), %xmm0 -; FAST-NEXT: movups %xmm0, 40(%rdi) +; FAST-NEXT: movq (%rdi), %rax +; FAST-NEXT: movq 8(%rdi), %rcx +; FAST-NEXT: movq %rax, 40(%rdi) +; FAST-NEXT: movq %rcx, 48(%rdi) ; FAST-NEXT: retq ; ; SLOW-LABEL: merge_vec_load_and_stores: |