CodeGen peephole: fold redundant phys reg copies
[oota-llvm.git] / test / CodeGen / X86 / mmx-copy-gprs.ll
index 2047ce75e5705e5701f80556b81b61a78236f10e..6d39713833e8f74f9ef6a7dc83778ab76d86ed63 100644 (file)
@@ -1,15 +1,17 @@
-; RUN: llvm-as < %s | llc -march=x86-64           | grep {movq.*(%rsi), %rax}
-; RUN: llvm-as < %s | llc -march=x86 -mattr=-sse2 | grep {movl.*4(%eax),}
-; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep {movsd.(%eax),}
+; RUN: llc < %s -mtriple=x86_64-linux   | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-win32   | FileCheck %s
+; RUN: llc < %s -march=x86 -mattr=-sse2 | FileCheck %s
+; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s
 
 ; This test should use GPRs to copy the mmx value, not MMX regs.  Using mmx regs,
 ; increases the places that need to use emms.
-
+; CHECK-NOT: %mm
+; CHECK-NOT: emms
 ; rdar://5741668
 
 define void @foo(<1 x i64>* %x, <1 x i64>* %y) nounwind  {
 entry:
-       %tmp1 = load <1 x i64>* %y, align 8             ; <<1 x i64>> [#uses=1]
+       %tmp1 = load <1 x i64>, <1 x i64>* %y, align 8          ; <<1 x i64>> [#uses=1]
        store <1 x i64> %tmp1, <1 x i64>* %x, align 8
        ret void
 }