Prep work toward fixing PR40758
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359088
91177308-0d34-0410-b5e6-
96231b3b80d8
return Subtarget.hasSSE2();
}
+bool X86TargetLowering::shouldFoldConstantShiftPairToMask(
+ const SDNode *N, CombineLevel Level) const {
+ // TODO - some targets prefer immediate vector shifts to shift+mask.
+ return TargetLoweringBase::shouldFoldConstantShiftPairToMask(N, Level);
+}
+
bool X86TargetLowering::shouldFoldMaskToVariableShiftPair(SDValue Y) const {
EVT VT = Y.getValueType();
bool hasAndNot(SDValue Y) const override;
+ bool shouldFoldConstantShiftPairToMask(const SDNode *N,
+ CombineLevel Level) const override;
+
bool shouldFoldMaskToVariableShiftPair(SDValue Y) const override;
bool