2 /* { dg-do compile { target le } } */
3 /* { dg-options "-O2 -maltivec" } */
4 /* { dg-require-effective-target powerpc_altivec_ok } */
5 /* { dg-final { scan-assembler-times {\mvspltis[whb] [^\n\r]*,-1\M|\mxxspltib[^\n\r]*,255\M} 9 } } */
6 /* { dg-final { scan-assembler-times {\mvslw\M} 3 } } */
7 /* { dg-final { scan-assembler-times {\mvslh\M} 3 } } */
8 /* { dg-final { scan-assembler-times {\mvslb\M} 3 } } */
10 typedef unsigned char __attribute__((__vector_size__ (16))) U
;
11 typedef unsigned short __attribute__((__vector_size__ (16))) V
;
12 typedef unsigned int __attribute__((__vector_size__ (16))) W
;
21 U y
= (U
) { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 } + u
;
28 U y
= (U
) { 0, 0x80, 0, 0x80, 0, 0x80, 0, 0x80, 0, 0x80, 0, 0x80, 0, 0x80, 0, 0x80 } + u
;
35 U y
= (U
) { 0, 0, 0, 0x80, 0, 0, 0, 0x80, 0, 0, 0, 0x80, 0, 0, 0, 0x80 } + u
;
42 V y
= (V
) { 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080 } + v
;
49 V y
= (V
) { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 } + v
;
56 V y
= (V
) { 0, 0x8000, 0, 0x8000, 0, 0x8000, 0, 0x8000 } + v
;
63 W y
= (W
) { 0x80808080, 0x80808080, 0x80808080, 0x80808080 } + w
;
70 W y
= (W
) { 0x80008000, 0x80008000, 0x80008000, 0x80008000 } + w
;
77 W y
= (W
) { 0x80000000, 0x80000000, 0x80000000, 0x80000000 } + w
;