/* { dg-do compile { target powerpc*-*-linux* } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ /* { dg-options "-mdejagnu-cpu=power8 -O2" } */ /* { dg-final { scan-assembler {\mmtvsrd\M} { target { lp64 } } } } */ /* { dg-final { scan-assembler {\mxscvspdpn\M} { target { lp64 } } } } */ /* Verify that we do not ICE and that we generate a direct move for float types when compiling for 64-bit. */ struct a { unsigned ui; float f; }; void foo (void) { float e; struct a s; e = s.f; __asm__("" : : "d" (e)); }