[llvm] r318970 - [X86] Simplify some code in combineSetCC. NFCI
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 24 23:20:24 PST 2017
Author: ctopper
Date: Fri Nov 24 23:20:24 2017
New Revision: 318970
URL: http://llvm.org/viewvc/llvm-project?rev=318970&view=rev
Log:
[X86] Simplify some code in combineSetCC. NFCI
Make the condition for doing a std::swap simpler so we don't have to repeat the full checks.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=318970&r1=318969&r2=318970&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Fri Nov 24 23:20:24 2017
@@ -35904,21 +35904,17 @@ static SDValue combineSetCC(SDNode *N, S
if (VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
(CC == ISD::SETNE || CC == ISD::SETEQ || ISD::isSignedIntSetCC(CC))) {
+ // Put build_vectors on the right.
+ if (LHS.getOpcode() == ISD::BUILD_VECTOR) {
+ std::swap(LHS, RHS);
+ CC = ISD::getSetCCSwappedOperands(CC);
+ }
+
bool IsSEXT0 =
(LHS.getOpcode() == ISD::SIGN_EXTEND) &&
(LHS.getOperand(0).getValueType().getVectorElementType() == MVT::i1);
bool IsVZero1 = ISD::isBuildVectorAllZeros(RHS.getNode());
- if (!IsSEXT0 || !IsVZero1) {
- // Swap the operands and update the condition code.
- std::swap(LHS, RHS);
- CC = ISD::getSetCCSwappedOperands(CC);
-
- IsSEXT0 = (LHS.getOpcode() == ISD::SIGN_EXTEND) &&
- (LHS.getOperand(0).getValueType().getScalarType() == MVT::i1);
- IsVZero1 = ISD::isBuildVectorAllZeros(RHS.getNode());
- }
-
if (IsSEXT0 && IsVZero1) {
assert(VT == LHS.getOperand(0).getValueType() &&
"Uexpected operand type");
More information about the llvm-commits
mailing list