Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/pr69307.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do run } */ | |
2 /* { dg-options "-O2 -fselective-scheduling2" } */ | |
3 | |
4 typedef unsigned char uint8_t; | |
5 typedef unsigned short int uint16_t; | |
6 typedef unsigned int uint32_t; | |
7 typedef unsigned long long int uint64_t; | |
8 typedef uint8_t u8; | |
9 typedef uint16_t u16; | |
10 typedef uint32_t u32; | |
11 typedef uint64_t u64; | |
12 u64 __attribute__((noinline, noclone)) | |
13 foo(u8 u8_0, u16 u16_0, u32 u32_0, u64 u64_0, u8 u8_1, u16 u16_1, u32 u32_1, u64 u64_1, u8 u8_2, u16 u16_2, u32 u32_2, u64 u64_2, u8 u8_3, u16 u16_3, u32 u32_3, u64 u64_3) | |
14 { | |
15 u8 *p8_2 = &u8_2; | |
16 u16 *p16_2 = &u16_2; | |
17 u8 *p8_3 = &u8_3; | |
18 u64 *p64_3 = &u64_3; | |
19 p8_2 = &u8_3; | |
20 *p8_3 -= *p64_3; | |
21 *p8_2 = (u64)*p8_2 % ((u64)*p8_2 | 3); | |
22 u8_2 = (u64)u8_2 / ((u64)*p16_2 | 1); | |
23 u16_0 = (u64)u16_0 % ((u64)*p8_2 | 3); | |
24 return u8_0 + u16_0 + u32_0 + u64_0 + u8_1 + u16_1 + u32_1 + u64_1 + u8_2 + u16_2 + u32_2 + u64_2 + u8_3 + u16_3 + u32_3 + u64_3; | |
25 } | |
26 int main() | |
27 { | |
28 u64 x = 0; | |
29 x += foo(3llu, 6llu, 15llu, 28llu, 5llu, 11llu, 20llu, 44llu, 7llu, 10llu, 20llu, 55llu, 0llu, 9llu, 17llu, 48llu); | |
30 if (x != 0x1f3) | |
31 __builtin_abort(); | |
32 return 0; | |
33 } | |
34 |