summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-10-28 20:32:44 +0000
committerChris Lattner <sabre@nondot.org>2005-10-28 20:32:44 +0000
commit5d6cb604def52a589aa7d34b18e68c5c2167a798 (patch)
tree31bff1661ecc44ead9072d8e2e0884d616c9f370 /llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
parente2fb63ea956d662dd7e7e61912aafb4a34941546 (diff)
downloadbcm5719-llvm-5d6cb604def52a589aa7d34b18e68c5c2167a798.tar.gz
bcm5719-llvm-5d6cb604def52a589aa7d34b18e68c5c2167a798.zip
add support for branch on ordered/unordered.
llvm-svn: 24067
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
index d078bdcd5f0..3d9cd8dc3fb 100644
--- a/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
@@ -489,6 +489,15 @@ static unsigned getBCCForSetCC(ISD::CondCode CC) {
case ISD::SETGT: return PPC::BGT;
case ISD::SETUGE:
case ISD::SETGE: return PPC::BGE;
+
+ case ISD::SETO: return PPC::BUN;
+ case ISD::SETUO: return PPC::BNU;
+ case ISD::SETOEQ:
+ case ISD::SETOGT:
+ case ISD::SETOGE:
+ case ISD::SETOLT:
+ case ISD::SETOLE:
+ case ISD::SETONE: assert(0 && "Unknown condition!"); abort();
}
return 0;
}
@@ -509,6 +518,14 @@ static unsigned getCRIdxForSetCC(ISD::CondCode CC, bool& Inv) {
case ISD::SETLE: Inv = true; return 1;
case ISD::SETEQ: Inv = false; return 2;
case ISD::SETNE: Inv = true; return 2;
+ case ISD::SETO: Inv = true; return 3;
+ case ISD::SETUO: Inv = false; return 3;
+ case ISD::SETOEQ:
+ case ISD::SETOGT:
+ case ISD::SETOGE:
+ case ISD::SETOLT:
+ case ISD::SETOLE:
+ case ISD::SETONE: assert(0 && "Unknown condition!"); abort();
}
return 0;
}
OpenPOWER on IntegriCloud