/* PR target/92615 */ /* { dg-do compile } */ /* { dg-options "-O2" } */ void *a; long long b; char c; void foo (void) { void *p; long long q; char r; __asm__ ("" : : "r" (&p), "r" (&q), "r" (&r)); __asm__ ("" : "=@cca" (p)); a = p; __asm__ ("" : "=@cca" (q)); b = q; __asm__ ("" : "=@cca" (r)); c = r; __asm__ ("" : : "r" (&p), "r" (&q), "r" (&r)); } void bar (void) { void *p; long long q; char r; __asm__ ("" : "=@cca" (p)); a = p; __asm__ ("" : "=@cca" (q)); b = q; __asm__ ("" : "=@cca" (r)); c = r; __asm__ ("" : : "r" (p), "A" (q), "q" (r)); } void baz (void) { void *p = (void *) &p; __asm__ __volatile__ ("" : "=@ccng" (p) : "r" (1)); }