http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48435
--- Comment #1 from Georg-Johann Lay <avr at gjlay dot de> 2011-04-04 16:00:13 UTC --- Created attachment 23869 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23869 much simpler testcase There is a much simpler testcase that shows the reload problems for finding a register, at least: long val (unsigned int addr) { long val; asm volatile ("; " : "+z" (addr), "=r" (val)); return val; } avr-gcc iasm.c -S -Os iasm.c: In function 'val': iasm.c:5:5: error: can't find a register in class 'POINTER_REGS' while reloading 'asm' iasm.c:5:5: error: 'asm' operand has impossible constraints