1df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//===-- PPCPredicates.cpp - PPC Branch Predicate Information --------------===//
2df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//
3df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//                     The LLVM Compiler Infrastructure
4df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//
54ee451de366474b9c228b4e5fa573795a715216dChris Lattner// This file is distributed under the University of Illinois Open Source
64ee451de366474b9c228b4e5fa573795a715216dChris Lattner// License. See LICENSE.TXT for details.
7df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//
8df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//===----------------------------------------------------------------------===//
9df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//
10df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner// This file implements the PowerPC branch predicates.
11df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//
12df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner//===----------------------------------------------------------------------===//
13df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner
14df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner#include "PPCPredicates.h"
15c25e7581b9b8088910da31702d4ca21c4734c6d7Torok Edwin#include "llvm/Support/ErrorHandling.h"
16df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner#include <cassert>
17df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattnerusing namespace llvm;
18df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner
19df4ed6350b2a51f71c0980e86c9078f4046ea706Chris LattnerPPC::Predicate PPC::InvertPredicate(PPC::Predicate Opcode) {
20df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  switch (Opcode) {
21c23197a26f34f559ea9797de51e187087c039c42Torok Edwin  default: llvm_unreachable("Unknown PPC branch opcode!");
22df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_EQ: return PPC::PRED_NE;
23df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_NE: return PPC::PRED_EQ;
24df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_LT: return PPC::PRED_GE;
25df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_GE: return PPC::PRED_LT;
26df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_GT: return PPC::PRED_LE;
27df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_LE: return PPC::PRED_GT;
28df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_NU: return PPC::PRED_UN;
29df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  case PPC::PRED_UN: return PPC::PRED_NU;
30df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner  }
31df4ed6350b2a51f71c0980e86c9078f4046ea706Chris Lattner}
32