1 //===- subzero/src/IceInstX8632.h - x86-32 machine instructions -*- 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 Used to house all the X8632 instructions. 12 /// 13 /// Subzero has been modified to use templates for X86 instructions, so all 14 /// those definitions are are in IceInstX86Base.h 15 /// 16 /// When interacting with the X8632 target (which should only happen in the 17 /// X8632 TargetLowering) clients have should use the Ice::X8632::Traits::Insts 18 /// traits, which hides all the template verboseness behind a type alias. 19 /// 20 /// For example, to create an X8632 MOV Instruction, clients should do 21 /// 22 /// ::Ice::X8632::Traits::Insts::Mov::create 23 /// 24 //===----------------------------------------------------------------------===// 25 26 #ifndef SUBZERO_SRC_ICEINSTX8632_H 27 #define SUBZERO_SRC_ICEINSTX8632_H 28 29 #include "IceDefs.h" 30 #include "IceInst.h" 31 #define X86NAMESPACE X8632 32 #include "IceInstX86Base.h" 33 #undef X86NAMESPACE 34 #include "IceOperand.h" 35 #include "IceTargetLoweringX8632Traits.h" 36 37 #endif // SUBZERO_SRC_ICEINSTX8632_H 38