Eliminate support for the llvm.unwind intrinisic, using the Unwind instruction instead
[oota-llvm.git] / lib / Target / X86 / X86.td
1 //===- X86.td - Target definition file for the Intel X86 arch ---*- C++ -*-===//
2 //
3 // This is a target description file for the Intel i386 architecture, refered to
4 // here as the "X86" architecture.
5 //
6 //===----------------------------------------------------------------------===//
7
8 // Get the target-independent interfaces which we are implementing...
9 //
10 include "../Target.td"
11
12 //===----------------------------------------------------------------------===//
13 // Register File Description
14 //===----------------------------------------------------------------------===//
15
16 include "X86RegisterInfo.td"
17
18 //===----------------------------------------------------------------------===//
19 // Instruction Descriptions
20 //===----------------------------------------------------------------------===//
21
22 include "X86InstrInfo.td"
23
24 def X86InstrInfo : InstrInfo {
25   let PHIInst  = PHI;
26
27   // Define how we want to layout our TargetSpecific information field... This
28   // should be kept up-to-date with the fields in the X86InstrInfo.h file.
29   let TSFlagsFields = ["FormBits"  , "hasOpSizePrefix" ,  "Prefix", "TypeBits",
30                        "FPFormBits", "printImplicitUses", "Opcode"];
31   let TSFlagsShifts = [           0,                   5,        6,         10,
32                                  13,                  16,       17];
33 }
34
35 def X86 : Target {
36   // Specify the callee saved registers.
37   let CalleeSavedRegisters = [ESI, EDI, EBX, EBP];
38
39   // Yes, pointers are 32-bits in size.
40   let PointerType = i32;
41
42   // Information about the instructions...
43   let InstructionSet = X86InstrInfo;
44 }