1 /* { dg-do compile } */
2 /* { dg-options "-march=armv8-a+sve -O2 -fharden-conditional-branches -fno-tree-scev-cprop" } */
3
4 /* -fharden-conditional-branches prevents optimization of its redundant
5 compares by detaching values from the operands with asm statements. They
6 used to require GENERAL_REGS, but the vectorized booleans, generated while
7 vectorizing this function, can't be held in GENERAL_REGS. */
8
9 void
10 foo (int *p)
11 {
12 while (*p < 1)
13 ++*p;
14 }