1 /* { dg-do compile } */
2
3 void
4 foo (void)
5 {
6 char reg = 10;
7 __asm__ ("mov.b %d1, %0\n" : "=r" (reg) : "r" (reg));
8 /* { dg-error "invalid 'asm': %d, %e, %f, %g operand modifiers are for memory references or constant values only" "" { target *-*-* } .-1 } */
9 __asm__ ("mov.b %e1, %0\n" : "=r" (reg) : "r" (reg));
10 /* { dg-error "invalid 'asm': %d, %e, %f, %g operand modifiers are for memory references or constant values only" "" { target *-*-* } .-1 } */
11 __asm__ ("mov.b %f1, %0\n" : "=r" (reg) : "r" (reg));
12 /* { dg-error "invalid 'asm': %d, %e, %f, %g operand modifiers are for memory references or constant values only" "" { target *-*-* } .-1 } */
13 __asm__ ("mov.b %g1, %0\n" : "=r" (reg) : "r" (reg));
14 /* { dg-error "invalid 'asm': %d, %e, %f, %g operand modifiers are for memory references or constant values only" "" { target *-*-* } .-1 } */
15 }