1 /* PR tree-optimization/83843 */
3 /* { dg-options "-O2 -fdump-tree-store-merging" } */
4 /* { dg-final { scan-tree-dump-times "Merging successful" 3 "store-merging" { target { store_merge && { ! arm*-*-* } } } } } */
6 __attribute__((noipa
)) void
7 foo (unsigned char *buf
, unsigned char *tab
)
9 unsigned v
= tab
[1] ^ (tab
[0] << 8);
14 __attribute__((noipa
)) void
15 bar (unsigned char *buf
, unsigned char *tab
)
17 unsigned v
= tab
[1] ^ (tab
[0] << 8);
22 __attribute__((noipa
)) void
23 baz (unsigned char *buf
, unsigned char *tab
)
25 unsigned v
= tab
[1] ^ (tab
[0] << 8);
33 volatile unsigned char l1
= 0;
34 volatile unsigned char l2
= 1;
36 unsigned char tab
[2] = { l1
+ 1, l2
* 2 };
38 if (buf
[0] != (unsigned char) ~1 || buf
[1] != (unsigned char) ~2)
43 if (buf
[0] != 1 || buf
[1] != (unsigned char) ~2)
48 if (buf
[0] != (unsigned char) ~1 || buf
[1] != 2)