diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index 71607b4ad86..ff0ba759183 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -847,7 +847,8 @@ static SetCondInst *canFoldSetCCIntoBranchOrSelect(Value *V) { if ((isa(User) || isa(User)) && (getClassB(SCI->getOperand(0)->getType()) != cLong || SCI->getOpcode() == Instruction::SetEQ || - SCI->getOpcode() == Instruction::SetNE)) + SCI->getOpcode() == Instruction::SetNE) && + User->getOperand(0) == V) return SCI; } return 0;