1 /* { dg-do run { target { powerpc*-*-linux* && { lp64 && p9vector_hw } } } } */
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
3 /* { dg-options "-O2 -mcpu=power9" } */
4 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
5
6 #include <altivec.h>
7
8 void abort (void);
9
main()10 int main() {
11 int i;
12 vector float vfa, vfb;
13 vector unsigned short vur, vuexpt;
14
15 vfa = (vector float){3.4, 5.0, 20.0, 50.9 };
16 vfb = (vector float){10.0, 40.0, 70.0, 100.0 };
17 vuexpt = (vector unsigned short){ 3, 5, 20, 50,
18 10, 40, 70, 100};
19
20 vur = vec_pack_to_short_fp32 (vfa, vfb);
21
22 for(i = 0; i< 8; i++) {
23 if (vur[i] != vuexpt[i])
24 abort();
25 }
26 }
27