AMDGPU: Mark test as XFAIL in expensive_checks builds
[llvm-project.git] / llvm / lib / Target / VE / VE.td
blobbb076bd9f6d411ddafb8f7993fb3a731b8af770d
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 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
13 // Target-independent interfaces which we are implementing
14 //===----------------------------------------------------------------------===//
16 include "llvm/Target/Target.td"
18 //===----------------------------------------------------------------------===//
19 // VE Subtarget features.
21 def FeatureEnableVPU
22   : SubtargetFeature<"vpu", "EnableVPU", "true",
23                      "Enable the VPU">;
25 //===----------------------------------------------------------------------===//
26 // Register File, Calling Conv, Instruction Descriptions
27 //===----------------------------------------------------------------------===//
29 include "VERegisterInfo.td"
30 include "VECallingConv.td"
31 include "VEInstrInfo.td"
33 def VEInstrInfo : InstrInfo {}
35 def VEAsmParser : AsmParser {
36   // Use both VE register name matcher to accept "S0~S63" register names
37   // and default register matcher to accept other registeres.
38   let AllowDuplicateRegisterNames = 1;
39   let ShouldEmitMatchRegisterAltName = 1;
42 //===----------------------------------------------------------------------===//
43 // VE processors supported.
44 //===----------------------------------------------------------------------===//
46 class Proc<string Name, list<SubtargetFeature> Features>
47  : Processor<Name, NoItineraries, Features>;
49 def : Proc<"generic", [FeatureEnableVPU]>;
51 //===----------------------------------------------------------------------===//
52 // Declare the target which we are implementing
53 //===----------------------------------------------------------------------===//
55 def VEAsmWriter : AsmWriter {
56   string AsmWriterClassName  = "InstPrinter";
57   int PassSubtarget = 1;
58   int Variant = 0;
61 def VE : Target {
62   // Pull in Instruction Info:
63   let InstructionSet = VEInstrInfo;
64   let AssemblyParsers = [VEAsmParser];
65   let AssemblyWriters = [VEAsmWriter];
66   let AllowRegisterRenaming = 1;