diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-10-28 20:32:44 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-10-28 20:32:44 +0000 |
| commit | 5d6cb604def52a589aa7d34b18e68c5c2167a798 (patch) | |
| tree | 31bff1661ecc44ead9072d8e2e0884d616c9f370 /llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | |
| parent | e2fb63ea956d662dd7e7e61912aafb4a34941546 (diff) | |
| download | bcm5719-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.cpp | 17 |
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; } |

