[X86][BMI] Pull out schedule classes from bmi_andn<> and bmi_bls<>
[llvm-core.git] / lib / Target / Lanai / Lanai.td
blobc6d949f42047e3a221cabb5bdcc05fa636905ccd
1 //===- Lanai.td - Describe the Lanai 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 //===----------------------------------------------------------------------===//
9 //===----------------------------------------------------------------------===//
10 // Target-independent interfaces which we are implementing
11 //===----------------------------------------------------------------------===//
13 include "llvm/Target/Target.td"
15 //===----------------------------------------------------------------------===//
16 // Register File, Calling Conv, Instruction Descriptions
17 //===----------------------------------------------------------------------===//
19 include "LanaiSchedule.td"
20 include "LanaiRegisterInfo.td"
21 include "LanaiCallingConv.td"
22 include "LanaiInstrInfo.td"
24 def LanaiInstrInfo : InstrInfo;
26 //===----------------------------------------------------------------------===//
27 // Lanai processors supported.
28 //===----------------------------------------------------------------------===//
30 def : ProcessorModel<"generic", LanaiSchedModel, []>;
31 def : ProcessorModel<"v11", LanaiSchedModel, []>;
33 def LanaiInstPrinter : AsmWriter {
34   string AsmWriterClassName  = "InstPrinter";
35   bit isMCAsmWriter = 1;
38 //===----------------------------------------------------------------------===//
39 // Declare the target which we are implementing
40 //===----------------------------------------------------------------------===//
42 def Lanai : Target {
43   // Pull in Instruction Info:
44   let InstructionSet = LanaiInstrInfo;
45   let AssemblyWriters = [LanaiInstPrinter];