[PATCH] D27998: [AArch64] Consider all vector types for FeatureSlowMisaligned128Store
Matthew Simpson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 20 13:54:23 PST 2016
mssimpso added a comment.
This makes sense to me, but it's probably a good idea to have someone with Cyclone knowledge comment.
================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:471
if (ST->isMisaligned128StoreSlow() && Opcode == Instruction::Store &&
- Src->isVectorTy() && Alignment != 16 &&
- Src->getVectorElementType()->isIntegerTy(64)) {
- // Unaligned stores are extremely inefficient. We don't split
- // unaligned v2i64 stores because the negative impact that has shown in
- // practice on inlined memcpy code.
- // We make v2i64 stores expensive so that we will only vectorize if there
+ Src->getPrimitiveSizeInBits() == 128 && Alignment < 16) {
+ // Unaligned stores are extremely inefficient. We don't split all
----------------
Would it make sense to check the legalized type here? Something like LT.second.is128BitVector()?
Repository:
rL LLVM
https://reviews.llvm.org/D27998
More information about the llvm-commits
mailing list