[PATCH] D68461: [ARM][MVE] Enable truncating masked stores

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 7 03:31:28 PDT 2019


dmgreen added a comment.

Nice one.



================
Comment at: lib/Target/ARM/ARMInstrMVE.td:5218
   def : Pat<(pre_truncstvi16_align2 (v4i32 MQPR:$Rt), tGPR:$Rn, t2am_imm7_offset<1>:$addr),
             (MVE_VSTRH32_pre MQPR:$Rt, tGPR:$Rn, t2am_imm7_offset<1>:$addr)>;
 }
----------------
Maybe put them here, with the other trunc stores?


================
Comment at: lib/Target/ARM/ARMTargetTransformInfo.cpp:498
 
-  if (DataTy->isVectorTy()) {
-    // We don't yet support narrowing or widening masked loads/stores. Expand
-    // them for the moment.
-    unsigned VecWidth = DataTy->getPrimitiveSizeInBits();
-    if (VecWidth != 128)
+  unsigned EltWidth = DataTy->getScalarSizeInBits();
+  if (auto *VecTy = dyn_cast<VectorType>(DataTy)) {
----------------
This is the same as in the load patch?


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

https://reviews.llvm.org/D68461





More information about the llvm-commits mailing list