/* 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; }