OSDN Git Service

Fix the completely broken FP constant folds for setcc's.
authorChris Lattner <sabre@nondot.org>
Tue, 18 Jan 2005 02:11:55 +0000 (02:11 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 18 Jan 2005 02:11:55 +0000 (02:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19651 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 95da460..e40d022 100644 (file)
@@ -389,10 +389,10 @@ SDOperand SelectionDAG::getSetCC(ISD::CondCode Cond, SDOperand N1,
       default: break; // FIXME: Implement the rest of these!
       case ISD::SETEQ:  return getConstant(C1 == C2, MVT::i1);
       case ISD::SETNE:  return getConstant(C1 != C2, MVT::i1);
-      case ISD::SETLT:  return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
-      case ISD::SETGT:  return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
-      case ISD::SETLE:  return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
-      case ISD::SETGE:  return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
+      case ISD::SETLT:  return getConstant(C1 < C2, MVT::i1);
+      case ISD::SETGT:  return getConstant(C1 > C2, MVT::i1);
+      case ISD::SETLE:  return getConstant(C1 <= C2, MVT::i1);
+      case ISD::SETGE:  return getConstant(C1 > C2, MVT::i1);
       }
     } else {
       // Ensure that the constant occurs on the RHS.