diff options
| author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-16 13:52:51 +0000 |
|---|---|---|
| committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-16 13:52:51 +0000 |
| commit | 7d1e39b7c62265637ea821136e83aa66afa2aad4 (patch) | |
| tree | 8eef8154248e2d460c25a9c784e113e9d863126e /lib/Target/SystemZ/SystemZInstrInfo.cpp | |
| parent | 4ec3e5ffd10b23c3614cd9a766c2a3ec1fe62ba4 (diff) | |
SELECT_CC lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75948 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrInfo.cpp')
| -rw-r--r-- | lib/Target/SystemZ/SystemZInstrInfo.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.cpp b/lib/Target/SystemZ/SystemZInstrInfo.cpp index 335d460226..9734709c6b 100644 --- a/lib/Target/SystemZ/SystemZInstrInfo.cpp +++ b/lib/Target/SystemZ/SystemZInstrInfo.cpp @@ -239,3 +239,32 @@ SystemZInstrInfo::InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, return 0; } + +const TargetInstrDesc& +SystemZInstrInfo::getBrCond(SystemZCC::CondCodes CC) const { + unsigned Opc; + switch (CC) { + default: + assert(0 && "Unknown condition code!"); + case SystemZCC::E: + Opc = SystemZ::JE; + break; + case SystemZCC::NE: + Opc = SystemZ::JNE; + break; + case SystemZCC::H: + Opc = SystemZ::JH; + break; + case SystemZCC::L: + Opc = SystemZ::JL; + break; + case SystemZCC::HE: + Opc = SystemZ::JHE; + break; + case SystemZCC::LE: + Opc = SystemZ::JLE; + break; + } + + return get(Opc); +} |
