blob: 44939ddba21d84355631ac5d65aa5732f97f0493 [file] [log] [blame]
Jan Voungb36ad9b2015-04-21 17:01:49 -07001//===- subzero/src/IceInstX8632.h - x86-32 machine instructions -*- C++ -*-===//
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -07002//
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//===----------------------------------------------------------------------===//
Andrew Scull9612d322015-07-06 14:53:25 -07009///
10/// \file
John Porto921856d2015-07-07 11:56:26 -070011/// This file used to house all the X8632 instructions. Subzero has been
12/// modified to use templates for X86 instructions, so all those definitions are
13/// are in IceInstX86Base.h
14///
15/// When interacting with the X8632 target (which should only happen in the
16/// X8632 TargetLowering) clients have should use the Ice::X8632::Traits::Insts
17/// traits, which hides all the template verboseness behind a type alias.
18///
19/// For example, to create an X8632 MOV Instruction, clients should do
20///
21/// ::Ice::X8632::Traits::Insts::Mov::create
22///
23/// In the future, this file might be used to declare X8632 specific
24/// instructions (e.g., FLD, and FSTP.)
Andrew Scull9612d322015-07-06 14:53:25 -070025///
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070026//===----------------------------------------------------------------------===//
27
28#ifndef SUBZERO_SRC_ICEINSTX8632_H
29#define SUBZERO_SRC_ICEINSTX8632_H
30
31#include "IceDefs.h"
32#include "IceInst.h"
John Porto921856d2015-07-07 11:56:26 -070033#include "IceInstX86Base.h"
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070034#include "IceOperand.h"
John Porto5d0acff2015-06-30 15:29:21 -070035#include "IceTargetLoweringX8632Traits.h"
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070036
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070037#endif // SUBZERO_SRC_ICEINSTX8632_H