1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -march=v10" } */
       3  /* { dg-final { scan-assembler-not {\tnop} } } */
       4  /* { dg-final { scan-assembler-times {\tcmp|\ttest|\tmove.d \$r10,\$r} 1 } } */
       5  
       6  /* We either have a move from "a" to some other register or a compare. */
       7  
       8  extern void foo(void);
       9  unsigned int x (unsigned int a, unsigned int b, unsigned int *c, unsigned int *d)
      10  {
      11    unsigned int z = __builtin_clz(b);
      12    if (a != 0)
      13      *c = a;
      14    *d = a;
      15    return z;
      16  }