[PATCH] D95319: [ARM] Add alignment checks for MVE VLDn

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 24 13:35:48 PST 2021


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, simon_tatham, ostannard, NickGuy, efriedma.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.

The MVE VLD2/4 and VST2/4 instructions require the pointer to be aligned to at least the size of the element type. This adds a check for that into the ARM lowerInterleavedStore and lowerInterleavedLoad functions, not creating the intrinsics if they are not valid for the alignment of the load/store.

Unfortunately this is one of those bug fixes that does effect some useful codegen, as we were able to sometimes do some nice lowering of q15 types. But they can cause problem with low-enough aligned pointers.


https://reviews.llvm.org/D95319

Files:
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/ARM/ARMISelLowering.h
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/test/CodeGen/Thumb2/mve-vld2.ll
  llvm/test/CodeGen/Thumb2/mve-vld4.ll
  llvm/test/CodeGen/Thumb2/mve-vst2.ll
  llvm/test/CodeGen/Thumb2/mve-vst4.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95319.318855.patch
Type: text/x-patch
Size: 37202 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210124/671d5046/attachment-0001.bin>


More information about the llvm-commits mailing list