Changed the XOR case to use the isOprNot predicate.
authorChris Lattner <sabre@nondot.org>
Wed, 10 Aug 2005 16:35:46 +0000 (16:35 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 10 Aug 2005 16:35:46 +0000 (16:35 +0000)
Patch by Jim Laskey!

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

lib/Target/PowerPC/PPCISelPattern.cpp

index 49bbeb0a59bf9da62e7dc2ff556f3063622aa3c1..479e7f260996a217d7c6edd9f43abf4053b930a7 100644 (file)
@@ -1752,9 +1752,7 @@ unsigned ISel::SelectExpr(SDOperand N, bool Recording) {
 
   case ISD::XOR: {
     // Check for EQV: xor, (xor a, -1), b
-    if (N.getOperand(0).getOpcode() == ISD::XOR &&
-        isIntImmediate(N.getOperand(0).getOperand(1), Tmp2) &&
-        (signed)Tmp2 == -1) {
+    if (isOprNot(N.getOperand(0))) {
       Tmp1 = SelectExpr(N.getOperand(0).getOperand(0));
       Tmp2 = SelectExpr(N.getOperand(1));
       BuildMI(BB, PPC::EQV, 2, Result).addReg(Tmp1).addReg(Tmp2);