| /* { dg-do compile { target int128 } } */ | |
| /* { dg-options "-O2 -fdump-tree-esra-details" } */ | |
| struct S { int i[4]; } __attribute__((aligned(128))); | |
| typedef __int128_t my_int128 __attribute__((may_alias)); | |
| __int128_t load (void *p) | |
| { | |
| struct S v; | |
| __builtin_memcpy (&v, p, sizeof (struct S)); | |
| struct S u; | |
| u = v; | |
| struct S w; | |
| w = u; | |
| return *(my_int128 *)&w; | |
| } | |
| /* { dg-final { scan-tree-dump-not "Created a replacement for u offset: \[^0\]" "esra" } } */ |