libstdc++: Add script to update docs for a new release branch
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr113281-5.c
blob4a4571792e2a4b3ab28194cd035cdcddb06eb01e
1 /* { dg-do compile } */
3 #define N 128
5 short x[N];
6 short y[N];
8 void
9 f1 (void)
11 for (int i = 0; i < N; ++i)
13 int a = y[i];
14 int b = ~a;
15 x[i] = b;
19 void
20 f2 (void)
22 for (int i = 0; i < N; ++i)
24 int a = y[i];
25 int b = -a;
26 x[i] = b;
30 void
31 f3 (void)
33 for (int i = 0; i < N; ++i)
35 int a = x[i];
36 int b = a / y[i];
37 x[i] = b;
41 void
42 f4 (void)
44 for (int i = 0; i < N; ++i)
46 int a = x[i];
47 int b = a < y[i] ? a : y[i];
48 x[i] = b;
52 void
53 f5 (void)
55 for (int i = 0; i < N; ++i)
57 int a = x[i];
58 int b = a > y[i] ? a : y[i];
59 x[i] = b;
63 /* { dg-final { scan-tree-dump {can narrow to signed:17 without loss [^\n]+= -} "vect" } } */
64 /* { dg-final { scan-tree-dump {can narrow to signed:16 without loss [^\n]+= ~} "vect" } } */
65 /* { dg-final { scan-tree-dump {can narrow to signed:16 without loss [^\n]+ MIN_EXPR} "vect" } } */
66 /* { dg-final { scan-tree-dump {can narrow to signed:16 without loss [^\n]+ MAX_EXPR} "vect" } } */