[gcc]
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / pr79038-1.c
blob0b1fa5d87bdc20428bd34aa9d7e8a21b08f3cde2
1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
3 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
4 /* { dg-options "-mcpu=power9 -O2 -mfloat128" } */
6 #ifndef TYPE
7 #define TYPE _Float128
8 #endif
10 TYPE
11 return_convert_uchar_to_float128_mem (unsigned char *p_uc)
13 return (TYPE) p_uc[10];
16 TYPE
17 return_convert_schar_to_float128_mem (signed char *p_sc)
19 return (TYPE) p_sc[10];
22 TYPE
23 return_convert_ushort_to_float128_mem (unsigned short *p_us)
25 return (TYPE) p_us[10];
28 TYPE
29 return_convert_sshort_to_float128_mem (short *p_ss)
31 return (TYPE) p_ss[10];
34 /* { dg-final { scan-assembler {\mlxsi[bh]zx\M} } } */
35 /* { dg-final { scan-assembler {\mvexts[bh]2d\M} } } */
36 /* { dg-final { scan-assembler-not {\mextsb\M} } } */
37 /* { dg-final { scan-assembler-not {\ml[bh][az]\M} } } */
38 /* { dg-final { scan-assembler-not {\mmtvsrw[az]\M} } } */