1 /* { dg-do compile } */
2 /* { dg-options "-O2 --param tree-reassoc-width=2 -fdump-tree-reassoc1" } */
3 
4 unsigned int
foo(void)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 "reassoc1"} } */
25