[PATCH] D95433: [ARM] Mark MVE_VMOV_to_lane_32 as isInsertSubregLike
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 26 09:39:35 PST 2021
dmgreen added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp:5407
InsertedReg.SubReg = MOInsertedReg.getSubReg();
- InsertedReg.SubIdx = MOIndex.getImm() == 0 ? ARM::ssub_0 : ARM::ssub_1;
+ InsertedReg.SubIdx = ARM::ssub_0 + MOIndex.getImm();
return true;
----------------
SjoerdMeijer wrote:
> Hm, why this change? Is this a simplification? Don't think I understand this change.
Thanks for taking a look.
VSETLNi32 handles D regs, so ssub_0 or ssub_1. Because MVE_VMOV_to_lane_32 is working on Q regs it can be ssub_2 or ssub_3 as well. There are other places in llvm that assume that ssub_0 + x == ssub_x, so that seems safe to use.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95433/new/
https://reviews.llvm.org/D95433
More information about the llvm-commits
mailing list