Don't emit "32" for unordered comparison
authorChris Lattner <sabre@nondot.org>
Fri, 28 Oct 2005 22:58:07 +0000 (22:58 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 28 Oct 2005 22:58:07 +0000 (22:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24073 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelDAGToDAG.cpp

index 5f8e3ddf4fd8f08f51e5adbfc73f0db632773508..64161b59e210eb0f603e8e215cb014d1ba18101b 100644 (file)
@@ -722,11 +722,13 @@ SDOperand PPCDAGToDAGISel::SelectSETCC(SDOperand Op) {
   
   if (!Inv) {
     CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, IntCR,
-                         getI32Imm(32-(3-Idx)), getI32Imm(31), getI32Imm(31));
+                         getI32Imm((32-(3-Idx)) & 31),
+                                   getI32Imm(31), getI32Imm(31));
   } else {
     SDOperand Tmp =
     CurDAG->getTargetNode(PPC::RLWINM, MVT::i32, IntCR,
-                          getI32Imm(32-(3-Idx)), getI32Imm(31),getI32Imm(31));
+                          getI32Imm((32-(3-Idx)) & 31),
+                          getI32Imm(31),getI32Imm(31));
     CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Tmp, getI32Imm(1));
   }