1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
3 /* { dg-require-effective-target powerpc_p8vector_ok } */
4 /* { dg-options "-mcpu=power8 -O2 -mupper-regs-df -mupper-regs-sf" } */
6 float load_sf (float *p
)
9 __asm__ ("# reg %x0" : "+v" (f
));
13 double load_df (double *p
)
16 __asm__ ("# reg %x0" : "+v" (d
));
20 double load_dfsf (float *p
)
22 double d
= (double) *p
;
23 __asm__ ("# reg %x0" : "+v" (d
));
27 void store_sf (float *p
, float f
)
29 __asm__ ("# reg %x0" : "+v" (f
));
33 void store_df (double *p
, double d
)
35 __asm__ ("# reg %x0" : "+v" (d
));
39 /* { dg-final { scan-assembler "lxsspx" } } */
40 /* { dg-final { scan-assembler "lxsdx" } } */
41 /* { dg-final { scan-assembler "stxsspx" } } */
42 /* { dg-final { scan-assembler "stxsdx" } } */