Fix bug: 2004-10-08-SelectSetCCFold.llx. Normally this is hidden by the
authorChris Lattner <sabre@nondot.org>
Fri, 8 Oct 2004 16:34:13 +0000 (16:34 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 8 Oct 2004 16:34:13 +0000 (16:34 +0000)
instcombine xform, which is why we didn't notice it before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16840 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelSimple.cpp

index 71607b4ad8699048a331b9bb4622a60a250d8378..ff0ba7591839528e876a912d9cda241a3ba82627 100644 (file)
@@ -847,7 +847,8 @@ static SetCondInst *canFoldSetCCIntoBranchOrSelect(Value *V) {
       if ((isa<BranchInst>(User) || isa<SelectInst>(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;