------- Comment #4 from hjl dot tools at gmail dot com 2009-01-23 05:14 ------- (In reply to comment #3)
> Again still undefined because there is still inbetween the assignment > and the inline-asm. > Where is this documented? There is bash-3.2$ cat ./gcc.target/mips/asm-1.c /* PR target/17565. GCC used to put the asm into the delay slot of the call. */ /* { dg-do assemble } */ /* { dg-options "-O" } */ NOMIPS16 int foo (int n) { register int k asm ("$16") = n; if (k > 0) { bar (); asm ("li %0,0x12345678" : "=r" (k)); } return k; } bash-3.2$ ./gcc.target/alpha/asm-1.c also has statements between register and asm statements. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38941