Author: Kazu Hirata Date: 2020-12-03T09:12:02-08:00 New Revision: a333071754ba2cf71ce11633def9657bd28d65a7
URL: https://github.com/llvm/llvm-project/commit/a333071754ba2cf71ce11633def9657bd28d65a7 DIFF: https://github.com/llvm/llvm-project/commit/a333071754ba2cf71ce11633def9657bd28d65a7.diff LOG: [X86] Remove DecodeVPERMVMask and DecodeVPERMV3Mask This patch removes the variants of DecodeVPERMVMask and DecodeVPERMV3Mask that take "const Constant *C" as they are not used anymore. They were introduced on Sep 8, 2015 in commit e88038f23517ffc741acfd307ff92e2b1af136d8. The last use of DecodeVPERMVMask(const Constant *C, ...) was removed on Feb 7, 2016 in commit 73fc26b44a8591b15f13eaffef17e67161c69388. The last use of DecodeVPERMV3Mask(const Constant *C, ...) was removed on May 28, 2018 in commit dcfcfdb0d166fff8388bdd2edc5a2948054c9da1. Differential Revision: https://reviews.llvm.org/D91926 Added: Modified: llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h Removed: ################################################################################ diff --git a/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp b/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp index e312bd9265af..14a3fea240e7 100644 --- a/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp +++ b/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp @@ -293,55 +293,4 @@ void DecodeVPPERMMask(const Constant *C, unsigned Width, } } -void DecodeVPERMVMask(const Constant *C, unsigned ElSize, unsigned Width, - SmallVectorImpl<int> &ShuffleMask) { - assert((Width == 128 || Width == 256 || Width == 512) && - C->getType()->getPrimitiveSizeInBits() >= Width && - "Unexpected vector size."); - assert((ElSize == 8 || ElSize == 16 || ElSize == 32 || ElSize == 64) && - "Unexpected vector element size."); - - // The shuffle mask requires elements the same size as the target. - APInt UndefElts; - SmallVector<uint64_t, 64> RawMask; - if (!extractConstantMask(C, ElSize, UndefElts, RawMask)) - return; - - unsigned NumElts = Width / ElSize; - - for (unsigned i = 0; i != NumElts; ++i) { - if (UndefElts[i]) { - ShuffleMask.push_back(SM_SentinelUndef); - continue; - } - int Index = RawMask[i] & (NumElts - 1); - ShuffleMask.push_back(Index); - } -} - -void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize, unsigned Width, - SmallVectorImpl<int> &ShuffleMask) { - assert((Width == 128 || Width == 256 || Width == 512) && - C->getType()->getPrimitiveSizeInBits() >= Width && - "Unexpected vector size."); - assert((ElSize == 8 || ElSize == 16 || ElSize == 32 || ElSize == 64) && - "Unexpected vector element size."); - - // The shuffle mask requires elements the same size as the target. - APInt UndefElts; - SmallVector<uint64_t, 64> RawMask; - if (!extractConstantMask(C, ElSize, UndefElts, RawMask)) - return; - - unsigned NumElts = Width / ElSize; - - for (unsigned i = 0; i != NumElts; ++i) { - if (UndefElts[i]) { - ShuffleMask.push_back(SM_SentinelUndef); - continue; - } - int Index = RawMask[i] & (NumElts*2 - 1); - ShuffleMask.push_back(Index); - } -} } // namespace llvm diff --git a/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h b/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h index 51229a69a626..77236f6aac9f 100644 --- a/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h +++ b/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h @@ -38,14 +38,6 @@ void DecodeVPERMIL2PMask(const Constant *C, unsigned M2Z, unsigned ElSize, void DecodeVPPERMMask(const Constant *C, unsigned Width, SmallVectorImpl<int> &ShuffleMask); -/// Decode a VPERM W/D/Q/PS/PD mask from an IR-level vector constant. -void DecodeVPERMVMask(const Constant *C, unsigned ElSize, unsigned Width, - SmallVectorImpl<int> &ShuffleMask); - -/// Decode a VPERMT2 W/D/Q/PS/PD mask from an IR-level vector constant. -void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize, unsigned Width, - SmallVectorImpl<int> &ShuffleMask); - } // llvm namespace #endif _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits