blob: cdf986ca6e697e8ca0c6f847cd7faf3bd2947e94 [file] [log] [blame]
John Porto453660f2015-07-31 14:52:52 -07001//===- subzero/src/IceInstX8664.h - x86-64 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
Jim Stichnoth92a6e5b2015-12-02 16:52:44 -080011/// \brief (Note: x86 instructions are templates, and they are defined in
12/// src/IceInstX86Base.)
John Porto453660f2015-07-31 14:52:52 -070013///
14/// When interacting with the X8664 target (which should only happen in the
15/// X8664 TargetLowering) clients have should use the Ice::X8664::Traits::Insts
16/// traits, which hides all the template verboseness behind a type alias.
17///
18/// For example, to create an X8664 MOV Instruction, clients should do
19///
20/// ::Ice::X8664::Traits::Insts::Mov::create
21///
22//===----------------------------------------------------------------------===//
23
24#ifndef SUBZERO_SRC_ICEINSTX8664_H
25#define SUBZERO_SRC_ICEINSTX8664_H
26
27#include "IceDefs.h"
28#include "IceInst.h"
John Porto4a566862016-01-04 09:33:41 -080029#define X86NAMESPACE X8664
John Porto453660f2015-07-31 14:52:52 -070030#include "IceInstX86Base.h"
John Porto4a566862016-01-04 09:33:41 -080031#undef X86NAMESPACE
John Porto453660f2015-07-31 14:52:52 -070032#include "IceOperand.h"
33#include "IceTargetLoweringX8664Traits.h"
34
35#endif // SUBZERO_SRC_ICEINSTX8664_H