OSDN Git Service

Testcase for r127187.
authorBill Wendling <isanbard@gmail.com>
Tue, 8 Mar 2011 10:27:58 +0000 (10:27 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 8 Mar 2011 10:27:58 +0000 (10:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127236 91177308-0d34-0410-b5e6-96231b3b80d8

test/FrontendC/mmx-inline-asm.c [new file with mode: 0644]

diff --git a/test/FrontendC/mmx-inline-asm.c b/test/FrontendC/mmx-inline-asm.c
new file mode 100644 (file)
index 0000000..ebfe3bb
--- /dev/null
@@ -0,0 +1,24 @@
+// RUN: %llvmgcc -S -o - %s | FileCheck %s
+// XFAIL: *
+// XTARGET: x86,i386,i686
+// <rdar://problem/9091220>
+#include <mmintrin.h>
+
+// CHECK: type { x86_mmx, x86_mmx, x86_mmx, x86_mmx, x86_mmx, x86_mmx, x86_mmx }
+
+void foo(long long fill) {
+  __m64 vfill = _mm_cvtsi64_m64(fill);
+  __m64 v1, v2, v3, v4, v5, v6, v7;
+
+  __asm__ __volatile__ (
+    "\tmovq  %7, %0\n"
+    "\tmovq  %7, %1\n"
+    "\tmovq  %7, %2\n"
+    "\tmovq  %7, %3\n"
+    "\tmovq  %7, %4\n"
+    "\tmovq  %7, %5\n"
+    "\tmovq  %7, %6"
+    : "=&y" (v1), "=&y" (v2), "=&y" (v3),
+      "=&y" (v4), "=&y" (v5), "=&y" (v6), "=y" (v7)
+    : "y" (vfill));
+}