1  /* { dg-do compile } */
       2  /* { dg-options "-O2 --param tree-reassoc-width=2 -fdump-tree-reassoc2" } */
       3  
       4  unsigned int
       5  foo (void)
       6  {
       7    unsigned int a = 0;
       8    unsigned int b;
       9  
      10    asm volatile ("" : "=r" (b) : "0" (0));
      11    a += b;
      12    asm volatile ("" : "=r" (b) : "0" (0));
      13    a += b;
      14    asm volatile ("" : "=r" (b) : "0" (0));
      15    a += b;
      16    asm volatile ("" : "=r" (b) : "0" (0));
      17    a += b;
      18  
      19    return a;
      20  }
      21  
      22  /* Verify there are two pairs of __asm__ statements with no
      23     intervening stmts.  */
      24  /* { dg-final { scan-tree-dump-times "__asm__\[^;\n]*;\n *__asm__" 2 "reassoc2"} } */