[PATCH] D68337: [ARM][MVE] Enable extending masked loads

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 15 10:39:30 PDT 2019


dmgreen added inline comments.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:14707
 
+  if (auto *Ld = dyn_cast<MaskedLoadSDNode>(ExtVal.getOperand(0))) {
+    if (Ld->isExpandingLoad())
----------------
MVE doesn't support expanding loads, so it would be surprising if we did see one here. Having the check is good though.


================
Comment at: lib/Target/ARM/ARMTargetTransformInfo.cpp:499
+  // TODO: Support unaligned accesses?
+  if (!Alignment.hasValue())
+    return false;
----------------
How rare do you think loads with no explicit alignment to be? I think they don't come up from clang, but is it worth leaving them till later?

As far as I understand, if the alignment on the load was missing (value is 0), it is treated as the abi/pref alignment from the datalayout. So will have an alignment of 8 or 16, so will be aligned.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68337/new/

https://reviews.llvm.org/D68337





More information about the llvm-commits mailing list