| //===- subzero/src/IceInstX8632.h - x86-32 machine instructions -*- C++ -*-===// | |
| // | |
| // The Subzero Code Generator | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| /// | |
| /// \file | |
| /// \brief Used to house all the X8632 instructions. | |
| /// | |
| /// Subzero has been modified to use templates for X86 instructions, so all | |
| /// those definitions are are in IceInstX86Base.h | |
| /// | |
| /// When interacting with the X8632 target (which should only happen in the | |
| /// X8632 TargetLowering) clients have should use the Ice::X8632::Traits::Insts | |
| /// traits, which hides all the template verboseness behind a type alias. | |
| /// | |
| /// For example, to create an X8632 MOV Instruction, clients should do | |
| /// | |
| /// ::Ice::X8632::Traits::Insts::Mov::create | |
| /// | |
| //===----------------------------------------------------------------------===// | |
| #ifndef SUBZERO_SRC_ICEINSTX8632_H | |
| #define SUBZERO_SRC_ICEINSTX8632_H | |
| #include "IceDefs.h" | |
| #include "IceInst.h" | |
| #define X86NAMESPACE X8632 | |
| #include "IceInstX86Base.h" | |
| #undef X86NAMESPACE | |
| #include "IceOperand.h" | |
| #include "IceTargetLoweringX8632Traits.h" | |
| #endif // SUBZERO_SRC_ICEINSTX8632_H |