1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
3 /* { dg-require-effective-target powerpc_vsx_ok } */
4 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
5 /* { dg-options "-O2 -mcpu=power7 -ffast-math -mno-upper-regs-df" } */
6 /* { dg-final { scan-assembler-times "lfiwax" 2 } } */
7 /* { dg-final { scan-assembler-times "lfiwzx" 2 } } */
8 /* { dg-final { scan-assembler-times "fcfids " 3 } } */
9 /* { dg-final { scan-assembler-times "fcfidus " 1 } } */
10 /* { dg-final { scan-assembler-times "fcfid " 3 } } */
11 /* { dg-final { scan-assembler-times "fcfidu " 1 } } */
12 /* { dg-final { scan-assembler-not "xscvdpsxds" } } */
13 /* { dg-final { scan-assembler-not "xscvdpuxds" } } */
14 
int_to_float(float * dest,int * src)15 void int_to_float (float *dest, int *src)
16 {
17   *dest = (float) *src;
18 }
19 
int_to_double(double * dest,int * src)20 void int_to_double (double *dest, int *src)
21 {
22   *dest = (double) *src;
23 }
24 
uint_to_float(float * dest,unsigned int * src)25 void uint_to_float (float *dest, unsigned int *src)
26 {
27   *dest = (float) *src;
28 }
29 
uint_to_double(double * dest,unsigned int * src)30 void uint_to_double (double *dest, unsigned int *src)
31 {
32   *dest = (double) *src;
33 }
34 
llong_to_float(float * dest,long long * src)35 void llong_to_float (float *dest, long long *src)
36 {
37   *dest = (float) *src;
38 }
39 
llong_to_double(double * dest,long long * src)40 void llong_to_double (double *dest, long long *src)
41 {
42   *dest = (double) *src;
43 }
44 
ullong_to_float(float * dest,unsigned long long * src)45 void ullong_to_float (float *dest, unsigned long long *src)
46 {
47   *dest = (float) *src;
48 }
49 
ullong_to_double(double * dest,unsigned long long * src)50 void ullong_to_double (double *dest, unsigned long long *src)
51 {
52   *dest = (double) *src;
53 }
54