1 //===-- CSKY.td - Describe the CSKY Target Machine ---------*- tablegen -*-===//
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
7 //===----------------------------------------------------------------------===//
9 include "llvm/Target/Target.td"
11 //===----------------------------------------------------------------------===//
12 // Registers, calling conventions, instruction descriptions.
13 //===----------------------------------------------------------------------===//
15 include "CSKYRegisterInfo.td"
16 include "CSKYInstrInfo.td"
18 //===----------------------------------------------------------------------===//
19 // CSKY processors supported.
20 //===----------------------------------------------------------------------===//
22 def : ProcessorModel<"generic", NoSchedModel, []>;
24 //===----------------------------------------------------------------------===//
25 // Define the CSKY target.
26 //===----------------------------------------------------------------------===//
28 def CSKYInstrInfo : InstrInfo;
31 def CSKYAsmParser : AsmParser {
32 let ShouldEmitMatchRegisterAltName = 1;
33 let AllowDuplicateRegisterNames = 1;
36 def CSKYAsmWriter : AsmWriter {
37 int PassSubtarget = 1;
41 let InstructionSet = CSKYInstrInfo;
42 let AssemblyParsers = [CSKYAsmParser];
43 let AssemblyWriters = [CSKYAsmWriter];
44 let AllowRegisterRenaming = 1;