1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
3 /* { dg-options "-mdejagnu-cpu=power9 -O2 -mfloat128" } */
4
5 #ifndef TYPE
6 #define TYPE _Float128
7 #endif
8
9 TYPE
10 return_convert_uchar_to_float128_mem (unsigned char *p_uc)
11 {
12 return (TYPE) p_uc[10];
13 }
14
15 TYPE
16 return_convert_schar_to_float128_mem (signed char *p_sc)
17 {
18 return (TYPE) p_sc[10];
19 }
20
21 TYPE
22 return_convert_ushort_to_float128_mem (unsigned short *p_us)
23 {
24 return (TYPE) p_us[10];
25 }
26
27 TYPE
28 return_convert_sshort_to_float128_mem (short *p_ss)
29 {
30 return (TYPE) p_ss[10];
31 }
32
33 /* { dg-final { scan-assembler {\mlxsi[bh]zx\M} } } */
34 /* { dg-final { scan-assembler {\mvexts[bh]2d\M} } } */
35 /* { dg-final { scan-assembler-not {\mextsb\M} } } */
36 /* { dg-final { scan-assembler-not {\ml[bh][az]\M} } } */
37 /* { dg-final { scan-assembler-not {\mmtvsrw[az]\M} } } */
38