This enables proper lowering of non-byte sized loads. We still aren't
faithfully preserving memory types everywhere, so the legality checks
still only consider the size.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Why did the AArch64 tests change?
llvm/lib/Target/ARM/ARMInstructionSelector.cpp | ||
---|---|---|
1099–1116 | ? |
Comment Actions
Because this wasn't properly handling non-byte accesses. The current DAG behavior is to zero the high bits on store, and insert AssertZext on load. When the legalizer handles this, it makes the special case s1 handling in the selector dead (the selector won't even see an s1 memory type)
?