use update_llc_test_checks.py to tighten checking
authorSanjay Patel <spatel@rotateright.com>
Mon, 20 Apr 2015 23:31:53 +0000 (23:31 +0000)
committerSanjay Patel <spatel@rotateright.com>
Mon, 20 Apr 2015 23:31:53 +0000 (23:31 +0000)
Also, replace win and linux runs with a generic run because that
makes no difference in what this test is checking.

llvm-svn: 235361

llvm/test/CodeGen/X86/i64-mem-copy.ll

index 21f8877..1945445 100644 (file)
@@ -1,17 +1,26 @@
-; RUN: llc < %s -mtriple=x86_64-linux   | FileCheck %s -check-prefix=X64
-; RUN: llc < %s -mtriple=x86_64-win32   | FileCheck %s -check-prefix=X64
-; X64: movq ({{%rsi|%rdx}}), %r
-
-; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s -check-prefix=X32
-; X32: movsd ({{%ecx|%eax}}), %xmm
-
-; Uses movsd to load / store i64 values if sse2 is available.
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=sse2 | FileCheck %s --check-prefix=X64
+; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=sse2 | FileCheck %s --check-prefix=X32
 
+; Use movq or movsd to load / store i64 values if sse2 is available.
 ; rdar://6659858
 
-define void @foo(i64* %x, i64* %y) nounwind  {
-entry:
-       %tmp1 = load i64, i64* %y, align 8              ; <i64> [#uses=1]
-       store i64 %tmp1, i64* %x, align 8
-       ret void
+define void @foo(i64* %x, i64* %y) {
+; X64-LABEL: foo:
+; X64:       # BB#0:
+; X64-NEXT:    movq (%rsi), %rax
+; X64-NEXT:    movq %rax, (%rdi)
+; X64-NEXT:    retq
+;
+; X32-LABEL: foo:
+; X32:       # BB#0:
+; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X32-NEXT:    movsd {{.*#+}} xmm0 = mem[0],zero
+; X32-NEXT:    movsd %xmm0, (%eax)
+; X32-NEXT:    retl
+
+  %tmp1 = load i64, i64* %y, align 8
+  store i64 %tmp1, i64* %x, align 8
+  ret void
 }
+