1 /* PR target/100637 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -msse2" } */
4 
5 typedef unsigned short __attribute__((__vector_size__ (4))) __v2hu;
6 typedef short __attribute__((__vector_size__ (4))) __v2hi;
7 
8 __v2hu au, bu;
9 __v2hi as, bs;
10 
uu(__v2hu a,__v2hu b)11 __v2hu uu (__v2hu a, __v2hu b) { return (a > b) ? au : bu; }
us(__v2hi a,__v2hi b)12 __v2hu us (__v2hi a, __v2hi b) { return (a > b) ? au : bu; }
su(__v2hu a,__v2hu b)13 __v2hi su (__v2hu a, __v2hu b) { return (a > b) ? as : bs; }
ss(__v2hi a,__v2hi b)14 __v2hi ss (__v2hi a, __v2hi b) { return (a > b) ? as : bs; }
15 
16 /* { dg-final { scan-assembler-times "pcmpeqw" 2 } } */
17 /* { dg-final { scan-assembler-times "pcmpgtw" 2 } } */
18