Merge branches/gcc-4_8-branch rev 210799.
[official-gcc.git] / gcc-4_8-branch / gcc / testsuite / gcc.target / powerpc / p8vector-ldst.c
blob33f19991f7611288b57434372cacf0b5b6bcc60a
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)
8 float f = *p;
9 __asm__ ("# reg %x0" : "+v" (f));
10 return f;
13 double load_df (double *p)
15 double d = *p;
16 __asm__ ("# reg %x0" : "+v" (d));
17 return d;
20 double load_dfsf (float *p)
22 double d = (double) *p;
23 __asm__ ("# reg %x0" : "+v" (d));
24 return d;
27 void store_sf (float *p, float f)
29 __asm__ ("# reg %x0" : "+v" (f));
30 *p = f;
33 void store_df (double *p, double d)
35 __asm__ ("# reg %x0" : "+v" (d));
36 *p = 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" } } */