PR3739, part 2: Use an explicit store to spill XMM registers. (Previously,
[oota-llvm.git] / test / CodeGen / X86 / 2009-06-03-Win64SpillXMM.ll
diff --git a/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll b/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll
new file mode 100644 (file)
index 0000000..33d7972
--- /dev/null
@@ -0,0 +1,12 @@
+; RUN: llvm-as < %s | llc -o %t1 -f
+; RUN: grep "subq.*\\\$40, \\\%rsp" %t1
+; RUN: grep "movaps    \\\%xmm8, \\\(\\\%rsp\\\)" %t1
+; RUN: grep "movaps    \\\%xmm7, 16\\\(\\\%rsp\\\)" %t1
+target triple = "x86_64-mingw64"
+
+define i32 @a() nounwind {
+entry:
+       tail call void asm sideeffect "", "~{xmm7},~{xmm8},~{dirflag},~{fpsr},~{flags}"() nounwind
+       ret i32 undef
+}
+