1 /* { dg-do compile } */
11 for (int i
= 0; i
< N
; ++i
)
18 for (int i
= 0; i
< N
; ++i
)
19 x
[i
] >>= ((y
[i
] & 7) + 8);
25 for (int i
= 0; i
< N
; ++i
)
26 x
[i
] >>= ((y
[i
] & 7) ^ 11);
32 for (int i
= 0; i
< N
; ++i
)
33 x
[i
] >>= (y
[i
] < 15 ? y
[i
] : 15);
39 for (int i
= 0; i
< N
; ++i
)
40 x
[i
] >>= (y
[i
] < 15 ? y
[i
] : 1);
46 for (int i
= 0; i
< N
; ++i
)
47 x
[i
] = 32768 >> (y
[i
] & 15);
50 /* { dg-final { scan-tree-dump {:11:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
51 /* { dg-final { scan-tree-dump {:18:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
52 /* { dg-final { scan-tree-dump {:25:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
53 /* { dg-final { scan-tree-dump {:32:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
54 /* { dg-final { scan-tree-dump {:39:[^\n]+can narrow to signed:16 without loss [^\n]+>>} "vect" } } */
55 /* { dg-final { scan-tree-dump {can narrow to unsigned:16 without loss [^\n]+>>} "vect" } } */