[PATCH] D91294: [X86] When storing v1i1/v2i1/v4i1 to memory, make sure we store zeros in the rest of the byte
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 12 07:16:16 PST 2020
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:23882
DAG.getUNDEF(MVT::v16i1), StoredVal,
DAG.getIntPtrConstant(0, dl));
StoredVal = DAG.getBitcast(MVT::i16, StoredVal);
----------------
RKSimon wrote:
> Any idea why we pad with a INSERT_SUBVECTOR here but use a CONCAT_VECTORS in the other case?
I think because combineStore runs before type legalization and we try to avoid INSERT_SUBVECTOR early. LowerSTORE runs later, but I guess combineStore is called from LegalizeVectorOps and CONCAT_VECTORS wouldn't become INSERT_SUBVECTOR until LegalizeDAG. So maybe lowerStore should be using CONCAT_VECTORS as well?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91294/new/
https://reviews.llvm.org/D91294
More information about the llvm-commits
mailing list