1//===- subzero/src/IceConditionCodesMIPS32.h - Condition Codes --*- C++ -*-===// 2// 3// The Subzero Code Generator 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9/// 10/// \file 11/// \brief Declares the condition codes for MIPS32. 12/// 13//===----------------------------------------------------------------------===// 14 15#ifndef SUBZERO_SRC_ICECONDITIONCODESMIPS32_H 16#define SUBZERO_SRC_ICECONDITIONCODESMIPS32_H 17 18#include "IceDefs.h" 19#include "IceInstMIPS32.def" 20 21namespace Ice { 22 23class CondMIPS32 { 24 CondMIPS32() = delete; 25 CondMIPS32(const CondMIPS32 &) = delete; 26 CondMIPS32 &operator=(const CondMIPS32 &) = delete; 27 28public: 29 /// An enum of codes used for conditional instructions. The enum value should 30 /// match the value used to encode operands in binary instructions. 31 enum Cond { 32#define X(tag, opp, emit) tag, 33 ICEINSTMIPS32COND_TABLE 34#undef X 35 }; 36 37 static bool isDefined(Cond C) { return C != kNone; } 38 39 static bool isUnconditional(Cond C) { return !isDefined(C) || C == AL; } 40}; 41 42} // end of namespace Ice 43 44#endif // SUBZERO_SRC_ICECONDITIONCODESMIPS32_H 45