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