annotate gcc/testsuite/gcc.dg/pr83852.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 /* { dg-options "-std=gnu99 -O2 -fselective-scheduling -fno-if-conversion -fno-tree-dse -w" } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 long long int uo;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 unsigned int vt;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 void
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 r5 (long long int h8, long long int pu)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 short int wj;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 long long int *mh = h8;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 for (wj = 0; wj < 3; ++wj)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 int oq;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 long long int ns, xf;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 h8 += 2;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 oq = !!h8 && !!wj;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 ++uo;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 vt ^= oq + uo;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 ns = !!uo && !!vt;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 xf = (h8 != 0) ? mh : 1;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 pu += ns < xf;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 for (pu = 0; pu < 1; ++pu)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 int *sc;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 sc = (int *)&pu;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 *sc = 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 }