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 10 //===----------------------------------------------------------------------===// 11 // Target-independent interfaces which we are implementing 12 //===----------------------------------------------------------------------===// 13 14 include "llvm/Target/Target.td" 15 16 //===----------------------------------------------------------------------===// 17 // SystemZ supported processors and features 18 //===----------------------------------------------------------------------===// 19 20 include "SystemZProcessors.td" 21 22 //===----------------------------------------------------------------------===// 23 // Register file description 24 //===----------------------------------------------------------------------===// 25 26 include "SystemZRegisterInfo.td" 27 28 //===----------------------------------------------------------------------===// 29 // Calling convention description 30 //===----------------------------------------------------------------------===// 31 32 include "SystemZCallingConv.td" 33 34 //===----------------------------------------------------------------------===// 35 // Instruction descriptions 36 //===----------------------------------------------------------------------===// 37 38 include "SystemZOperators.td" 39 include "SystemZOperands.td" 40 include "SystemZPatterns.td" 41 include "SystemZInstrFormats.td" 42 include "SystemZInstrInfo.td" 43 include "SystemZInstrVector.td" 44 include "SystemZInstrFP.td" 45 46 def SystemZInstrInfo : InstrInfo {} 47 48 //===----------------------------------------------------------------------===// 49 // Assembly parser 50 //===----------------------------------------------------------------------===// 51 52 def SystemZAsmParser : AsmParser { 53 let ShouldEmitMatchRegisterName = 0; 54 } 55 56 //===----------------------------------------------------------------------===// 57 // Top-level target declaration 58 //===----------------------------------------------------------------------===// 59 60 def SystemZ : Target { 61 let InstructionSet = SystemZInstrInfo; 62 let AssemblyParsers = [SystemZAsmParser]; 63 } 64