================ @@ -4187,6 +4187,29 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> { setShadow(&I, IRB.CreateBitCast(CI, getShadowTy(&I))); setOriginForNaryOp(I); } + // Instrument AVX permutation intrinsic. + // We apply the same permutation (argument index 1) to the shadows. + void handleAVXVpermil2var(IntrinsicInst &I) { + assert(I.arg_size() == 3); + assert(I.getArgOperand(0)->getType() == I.getArgOperand(2)->getType()); + assert(I.getType() == I.getArgOperand(0)->getType()); ---------------- thurstond wrote:
Please also check that I.getType() is a vector type, and that `I.getArgOperand(0)` has the same number of elements as `I.getArgOperand(1)` https://github.com/llvm/llvm-project/pull/143463 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits