[llvm-commits] [llvm-gcc-4.2] r98863 - /llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-68.c

Stuart Hastings stuart at apple.com
Thu Mar 18 13:28:51 PDT 2010


Author: stuart
Date: Thu Mar 18 15:28:51 2010
New Revision: 98863

URL: http://llvm.org/viewvc/llvm-project?rev=98863&view=rev
Log:
Test case for r98841.

Added:
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-68.c

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-68.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-68.c?rev=98863&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-68.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-68.c Thu Mar 18 15:28:51 2010
@@ -0,0 +1,37 @@
+/* APPLE LOCAL file CW asm blocks */
+/* { dg-do assemble { target i?86*-*-darwin* } } */
+/* { dg-options { -fasm-blocks } } */
+/* <rdar://problem/7763139> */
+
+#include <stdio.h>
+
+#if !__x86_64__ && !__i386__
+#error compile with -arch x86_64 or -arch i386
+#endif
+
+int main()
+{
+  float a = 1.0;
+  float *aPtr = NULL;
+  double b = 2.0;
+  double *bPtr = NULL;
+  
+  __asm__
+    {
+#if __x86_64__
+        lea     rax,a
+	mov     aPtr,rax
+	lea     rax,b
+	mov     bPtr,rax
+#elif __i386__
+	lea     eax,a
+	mov     aPtr,eax
+	lea     eax,b
+	mov     bPtr,eax
+#endif
+	}
+  
+  printf("a: %f, b: %lf\n", *aPtr, *bPtr);
+  
+  return 0;
+}





More information about the llvm-commits mailing list