diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 4eff24851184..c80f463d1f6a 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -431,11 +431,8 @@ static InstructionsState getSameOpcode(ArrayRef VL) { for (int Cnt = 0, E = VL.size(); Cnt < E; Cnt++) { auto *I = cast(VL[Cnt]); unsigned InstOpcode = I->getOpcode(); - if ((Res.HasAltOpcodes && - InstOpcode != (isOdd(Cnt) ? AltOpcode : Opcode)) || - (!Res.HasAltOpcodes && InstOpcode != Opcode)) { + if (InstOpcode != (isOdd(Cnt) ? AltOpcode : Opcode)) return InstructionsState(OpInst, 0, false); - } } return InstructionsState(OpInst, Opcode, Res.HasAltOpcodes); }