1 //===- SparcV8.td - Describe the SparcV8 Target Machine ---------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
14 // Target-independent interfaces which we are implementing
15 //===----------------------------------------------------------------------===//
17 include "../Target.td"
19 //===----------------------------------------------------------------------===//
20 // Register File Description
21 //===----------------------------------------------------------------------===//
23 include "SparcV8RegisterInfo.td"
25 //===----------------------------------------------------------------------===//
26 // Instruction Descriptions
27 //===----------------------------------------------------------------------===//
29 include "SparcV8InstrInfo.td"
31 def SparcV8InstrInfo : InstrInfo {
34 // Define how we want to layout our target-specific information field.
35 let TSFlagsFields = [];
36 let TSFlagsShifts = [];
39 //===----------------------------------------------------------------------===//
40 // Declare the target which we are implementing
41 //===----------------------------------------------------------------------===//
43 def SparcV8 : Target {
44 // Pointers are 32-bits in size.
45 let PointerType = i32;
47 // FIXME: Specify callee-saved registers
48 let CalleeSavedRegisters = [];
50 // Pull in Instruction Info:
51 let InstructionSet = SparcV8InstrInfo;