1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
3 /* { dg-require-effective-target powerpc_vsx_ok } */
4 /* { dg-options "-O2 -mcpu=power6x -mmfpgpr" } */
5 /* { dg-final { scan-assembler "mffgpr" } } */
6 /* { dg-final { scan-assembler "mftgpr" } } */
7 
8 /* Test that we generate the instructions to move between the GPR and FPR
9    registers under power6x.  */
10 
11 extern long return_long (void);
12 extern double return_double (void);
13 
return_double2(void)14 double return_double2 (void)
15 {
16   return (double) return_long ();
17 }
18 
return_long2(void)19 long return_long2 (void)
20 {
21   return (long) return_double ();
22 }
23