https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66201
--- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- IMO using operands attached to "m" constraint in the asm template is no valid avr code. You can never know the matching instructions because "m" is too generic: Use LD, LD+ or LDS? The only valid use of that constraint on avr is to indicate that respective memory is clobbererd by means of "+m". To perform the respective change, however, you'll need the address in a register, i.e. "b" or similar, or you know in advance that the address is known at link time an may use "s" etc. Moreover the insn itself is invalid because we don't have DImode support in the avr backend.