1//===- SystemZ.td - Describe the SystemZ Target Machine ------*- tblgen -*-==// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// This is the top level entry point for the SystemZ target. 10//===----------------------------------------------------------------------===// 11 12//===----------------------------------------------------------------------===// 13// Target-independent interfaces 14//===----------------------------------------------------------------------===// 15 16include "llvm/Target/Target.td" 17 18//===----------------------------------------------------------------------===// 19// Subtarget Features. 20//===----------------------------------------------------------------------===// 21def FeatureZ10 : SubtargetFeature<"z10", "HasZ10Insts", "true", 22 "Support Z10 instructions">; 23 24//===----------------------------------------------------------------------===// 25// SystemZ supported processors. 26//===----------------------------------------------------------------------===// 27class Proc<string Name, list<SubtargetFeature> Features> 28 : Processor<Name, NoItineraries, Features>; 29 30def : Proc<"z9", []>; 31def : Proc<"z10", [FeatureZ10]>; 32 33//===----------------------------------------------------------------------===// 34// Register File Description 35//===----------------------------------------------------------------------===// 36 37include "SystemZRegisterInfo.td" 38 39//===----------------------------------------------------------------------===// 40// Calling Convention Description 41//===----------------------------------------------------------------------===// 42 43include "SystemZCallingConv.td" 44 45//===----------------------------------------------------------------------===// 46// Instruction Descriptions 47//===----------------------------------------------------------------------===// 48 49include "SystemZInstrInfo.td" 50include "SystemZInstrFP.td" 51 52def SystemZInstrInfo : InstrInfo {} 53 54//===----------------------------------------------------------------------===// 55// Target Declaration 56//===----------------------------------------------------------------------===// 57 58def SystemZ : Target { 59 let InstructionSet = SystemZInstrInfo; 60} 61 62