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