/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-optimized" } */ | |
unsigned foo(unsigned val, unsigned start) | |
{ | |
unsigned cnt = 0; | |
unsigned i = start; | |
do { | |
cnt++; | |
i++; | |
} while (i > val); | |
return cnt; | |
} | |
/* Look for start >= val ? -start : 1 */ | |
/* { dg-final { scan-tree-dump " = start_\[0-9\]\\(D\\) >= val_\[0-9\]\\(D\\);" "optimized" } } */ | |
/* { dg-final { scan-tree-dump "cnt_\[0-9\] = _\[0-9\]+ \\? _\[0-9\]+ : 1;" "optimized" } } */ |