/* { dg-do compile } */ /* { dg-options "-O1 */ #define __aux() __attribute__((aux)) __aux() int *a_ptr; extern __aux() int a_var; /* Generates: mov r0, @a_var sr 10,[r0] */ void foo (void) { a_var = 10; } /* Generates: mov r0, @a_ptr sr a_var,[r0] */ void foo1 (void) { a_ptr = &a_var; } /* Generates: lr %r1,[a_ptr] sr 10,[%r1] */ void foo2 (void) { *a_ptr = 10; } /* { dg-final { scan-assembler-times "sr" 3 } } */ /* { dg-final { scan-assembler-times "lr" 1 } } */