/* PR tree-optimization/52267 */ | |
/* { dg-do run } */ | |
/* { dg-options "-O3 -fdump-tree-ldist-details" } */ | |
int a = 0, b = 0, c = 0; | |
struct S { | |
signed m : 7; | |
signed e : 2; | |
}; | |
struct S f[2] = {{0, 0}, {0, 0}}; | |
struct S g = {0, 0}; | |
void __attribute__((noinline)) | |
k() | |
{ | |
for (; c <= 1; c++) { | |
f[b] = g; | |
f[b].e ^= 1; | |
} | |
} | |
int main() | |
{ | |
k(); | |
if (f[b].e != 1) | |
__builtin_abort (); | |
} | |
/* { dg-final { scan-tree-dump-not "Loop 1 distributed: split to 3 loops" "ldist" } } */ |