blob: 9ee5431b730d533758c7ae0f3265189247406fd6 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -Warray-bounds" } */
extern int block2[7][256];
static int encode_block(int block2[7][256], unsigned level)
{
int best_score = 0;
for (unsigned x = 0; x < level; x++) {
int v = block2[1][x];
block2[level][x] = 0;
best_score += v * v;
}
if (level > 0 && best_score > 64) {
int score = 0;
score += encode_block(block2, level - 1);
score += encode_block(block2, level - 1);
if (score < best_score) {
best_score = score;
}
}
return best_score;
}
int foo(void)
{
return encode_block(block2, 5);
}