On x86, if the only use of a i64 load is a i64 store, generate a pair of double load...
[oota-llvm.git] / test / CodeGen / X86 / mmx-copy-gprs.ll
1 ; RUN: llvm-as < %s | llc -march=x86-64           | grep {movq.*(%rsi), %rax}
2 ; RUN: llvm-as < %s | llc -march=x86 -mattr=-sse2 | grep {movl.*4(%eax),}
3 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep {movsd.(%eax),}
4
5 ; This test should use GPRs to copy the mmx value, not MMX regs.  Using mmx regs,
6 ; increases the places that need to use emms.
7
8 ; rdar://5741668
9
10 define void @foo(<1 x i64>* %x, <1 x i64>* %y) nounwind  {
11 entry:
12         %tmp1 = load <1 x i64>* %y, align 8             ; <<1 x i64>> [#uses=1]
13         store <1 x i64> %tmp1, <1 x i64>* %x, align 8
14         ret void
15 }