2 /* { dg-require-effective-target vsx_hw } */
3 /* { dg-options "-O2 -mvsx" } */
5 /* Verify it doesn't generate wrong code. */
7 #include "pr109069-2.h"
12 vector
unsigned char res1
= test1 ();
13 for (int i
= 0; i
< 16; i
++)
17 vector
signed short res2
= test2 ();
18 for (int i
= 0; i
< 8; i
++)
19 if (res2
[i
] != 0x7777)
22 vector
signed int res3
= test3 ();
23 vector
unsigned int res4
= test4 ();
24 vector
float res6
= test6 ();
25 for (int i
= 0; i
< 4; i
++)
27 if (res3
[i
] != 0xbbbbbbbb)
29 if (res4
[i
] != 0x7070707)
33 if (u
.i
!= 0x17171717)
37 vector
unsigned long long res5
= test5 ();
38 vector
double res7
= test7 ();
39 for (int i
= 0; i
< 2; i
++)
41 if (res5
[i
] != 0x4545454545454545ll
)
45 if (u
.i
!= 0x5454545454545454ll
)