Inline Assembly Register Allocation Bug? (Was: Possible bug withgcc 2.95.2 on Hitachi h8)

Bernd Schmidt bernds@cygnus.co.uk
Mon Jul 17 13:18:00 GMT 2000


>   asm volatile ("movl\t(%1),%0\n\t"
> 		"movl\t(%1),%0"
> 		: "=r" (temp) : "r" (p));

This is not a bug.  You need to tell gcc that operand 0 is earlyclobbered:

  asm volatile ("movl\t(%1),%0\n\t"
		"movl\t(%1),%0"
		: "=&r" (temp) : "r" (p));

Bernd



More information about the Gcc-bugs mailing list