Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.c-torture/execute/pr65369.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 /* PR tree-optimization/65369 */ | |
2 #include <stdint.h> | |
3 | |
4 static const char data[] = | |
5 "12345678901234567890123456789012345678901234567890" | |
6 "123456789012345678901234567890"; | |
7 | |
8 __attribute__ ((noinline)) | |
9 static void foo (const unsigned int *buf) | |
10 { | |
11 if (__builtin_memcmp (buf, data, 64)) | |
12 __builtin_abort (); | |
13 } | |
14 | |
15 __attribute__ ((noinline)) | |
16 static void bar (const unsigned char *block) | |
17 { | |
18 uint32_t buf[16]; | |
19 __builtin_memcpy (buf + 0, block + 0, 4); | |
20 __builtin_memcpy (buf + 1, block + 4, 4); | |
21 __builtin_memcpy (buf + 2, block + 8, 4); | |
22 __builtin_memcpy (buf + 3, block + 12, 4); | |
23 __builtin_memcpy (buf + 4, block + 16, 4); | |
24 __builtin_memcpy (buf + 5, block + 20, 4); | |
25 __builtin_memcpy (buf + 6, block + 24, 4); | |
26 __builtin_memcpy (buf + 7, block + 28, 4); | |
27 __builtin_memcpy (buf + 8, block + 32, 4); | |
28 __builtin_memcpy (buf + 9, block + 36, 4); | |
29 __builtin_memcpy (buf + 10, block + 40, 4); | |
30 __builtin_memcpy (buf + 11, block + 44, 4); | |
31 __builtin_memcpy (buf + 12, block + 48, 4); | |
32 __builtin_memcpy (buf + 13, block + 52, 4); | |
33 __builtin_memcpy (buf + 14, block + 56, 4); | |
34 __builtin_memcpy (buf + 15, block + 60, 4); | |
35 foo (buf); | |
36 } | |
37 | |
38 int | |
39 main () | |
40 { | |
41 unsigned char input[sizeof data + 16] __attribute__((aligned (16))); | |
42 __builtin_memset (input, 0, sizeof input); | |
43 __builtin_memcpy (input + 1, data, sizeof data); | |
44 bar (input + 1); | |
45 return 0; | |
46 } |