/* { 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" } } */ |