| /* { dg-do compile } */ |
| /* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-alias-vops" } */ |
| /* Test to make sure that inline-asm causes a VDEF and that we call test_function twice. */ |
| |
| char test_function(void ) __attribute__((__pure__)); |
| char f(char *a) |
| { |
| char b = test_function(); |
| asm("":"=m"(*a):"r"(b)); |
| b = test_function(); |
| return b; |
| } |
| |
| /* test_function should be called twice as the inline-asm changes memory. */ |
| /* { dg-final { scan-tree-dump-times "test_function" 2 "optimized"} } */ |
| |
| /* There should a VDEF for the inline-asm. */ |
| /* { dg-final { scan-tree-dump-times "VDEF" 1 "alias"} } */ |