//===- subzero/src/IceConditionCodesX8632.h - Condition Codes ---*- C++ -*-===// // // The Subzero Code Generator // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// /// /// \file /// \brief Declares the condition codes for x86-32. /// //===----------------------------------------------------------------------===// #ifndef SUBZERO_SRC_ICECONDITIONCODESX8632_H #define SUBZERO_SRC_ICECONDITIONCODESX8632_H #include "IceDefs.h" #include "IceInstX8632.def" namespace Ice { class CondX86 { CondX86() = delete; CondX86(const CondX86 &) = delete; CondX86 &operator=(const CondX86 &) = delete; public: /// An enum of condition codes used for branches and cmov. The enum value /// should match the value used to encode operands in binary instructions. enum BrCond { #define X(val, encode, opp, dump, emit) val = encode, ICEINSTX8632BR_TABLE #undef X Br_None }; /// An enum of condition codes relevant to the CMPPS instruction. The enum /// value should match the value used to encode operands in binary /// instructions. enum CmppsCond { #define X(val, emit) val, ICEINSTX8632CMPPS_TABLE #undef X Cmpps_Invalid }; }; } // end of namespace Ice #endif // SUBZERO_SRC_ICECONDITIONCODESX8632_H