1//===-- VE.td - Describe the VE Target Machine -------------*- tablegen -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9//
10//===----------------------------------------------------------------------===//
11
12//===----------------------------------------------------------------------===//
13// Target-independent interfaces which we are implementing
14//===----------------------------------------------------------------------===//
15
16include "llvm/Target/Target.td"
17
18//===----------------------------------------------------------------------===//
19// VE Subtarget features.
20//
21
22//===----------------------------------------------------------------------===//
23// Register File, Calling Conv, Instruction Descriptions
24//===----------------------------------------------------------------------===//
25
26include "VERegisterInfo.td"
27include "VECallingConv.td"
28include "VEInstrInfo.td"
29
30def VEInstrInfo : InstrInfo;
31
32//===----------------------------------------------------------------------===//
33// VE processors supported.
34//===----------------------------------------------------------------------===//
35
36class Proc<string Name, list<SubtargetFeature> Features>
37 : Processor<Name, NoItineraries, Features>;
38
39def : Proc<"ve",             []>;
40
41//===----------------------------------------------------------------------===//
42// Declare the target which we are implementing
43//===----------------------------------------------------------------------===//
44
45def VEAsmWriter : AsmWriter {
46  string AsmWriterClassName  = "InstPrinter";
47  int PassSubtarget = 1;
48  int Variant = 0;
49}
50
51def VE : Target {
52  // Pull in Instruction Info:
53  let InstructionSet = VEInstrInfo;
54  let AssemblyWriters = [VEAsmWriter];
55  let AllowRegisterRenaming = 1;
56}
57