annotate gcc/testsuite/gcc.dg/pr80693.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 run } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 /* { dg-options "-O -fno-tree-coalesce-vars" } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 typedef unsigned char u8;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 typedef unsigned short u16;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 typedef unsigned u32;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 typedef unsigned long long u64;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 static u64 __attribute__((noinline, noclone))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 foo(u8 u8_0, u16 u16_0, u32 u32_0, u64 u64_0, u16 u16_1)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 u16_1 += 0x1051;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 u16_1 &= 1;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 u8_0 <<= u32_0 & 7;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 u16_0 -= !u16_1;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 u16_1 >>= ((u16)-u8_0 != 0xff);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 return u8_0 + u16_0 + u64_0 + u16_1;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 int
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 main (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 u64 x = foo(1, 1, 0xffff, 0, 1);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 if (x != 0x80)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 __builtin_abort();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 }