Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:Xor

1077   case Instruction::Xor:         // (icmp pred (xor X, XorCST), CI)
1080 // fold the xor.
1086 // the operation, just stop using the Xor.
1108 // (icmp u/s (xor A SignBit), C) -> (icmp s/u A, (xor C SignBit))
1118 // (icmp u/s (xor A ~SignBit), C) -> (icmp s/u (xor C ~SignBit), A)
1130 // (icmp ugt (xor X, C), ~C) -> (icmp ult X, C)
1136 // (icmp ult (xor X, C), -C) -> (icmp uge X, C)
1613 // If the first operand is (add|sub|and|or|xor|rem) with a constant, and
1652 case Instruction::Xor:
1653 // For the xor case, we can xor two constants together, eliminating
1654 // the explicit xor.
1659 // Replace ((xor A, B) != 0) with (A != B)
2079 Value *Xor = Builder->CreateXor(Op0, Op1, I.getName()+"tmp");
2080 return BinaryOperator::CreateNot(Xor);
2723 case Instruction::Xor:
2843 Value *Xor = Builder->CreateXor(C, NC);
2844 return new ICmpInst(I.getPredicate(), A, Xor);