[PATCH] D96394: [AVR] Improve inline assembly
Ayke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 4 03:38:07 PST 2021
aykevl added a comment.
I don't really understand what you're doing here. For example:
case 'd': // Upper registers r16..r31.
if (VT == MVT::i8)
return std::make_pair(0U, &AVR::LD8RegClass);
else if (VT == MVT::i16)
return std::make_pair(0U, &AVR::DLDREGSRegClass);
break;
If I'm reading https://www.nongnu.org/avr-libc/user-manual/inline_asm.html correctly, this appears to imply an 8-bit register, but you're also implementing support for 16-bit registers. Why?
================
Comment at: llvm/lib/Target/AVR/AVRISelLowering.cpp:1918-1921
- // We only support i8 and i16.
- //
- //:FIXME: remove this assert for now since it gets sometimes executed
- // assert((VT == MVT::i16 || VT == MVT::i8) && "Wrong operand type.");
----------------
Why did you remove this assert entirely? It looks like a sensible assert.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96394/new/
https://reviews.llvm.org/D96394
More information about the llvm-commits
mailing list