Files
clang-p2996/llvm/lib/Target/Xtensa/Xtensa.td
Andrei Safronov f6578c3d80 [Xtensa] Implement Windowed Register Option. (#124656)
This patch implements Xtensa ISA option "Windowed Register Option".  It implements subtarget feature, instructions descriptions and support of these instructions in asm parser and disassembler.

 This is the second version of the Windowed Register Option implementation ( previous implementation #121118). In this variant "checkRegister"  function is placed in XtensaMCTargetDesc.
2025-02-03 03:13:24 +03:00

69 lines
2.4 KiB
TableGen

//===- Xtensa.td - Describe the Xtensa Target Machine ------*- tablegen -*-===//
//
// The LLVM Compiler Infrastructure
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
// Target-independent interfaces
//===----------------------------------------------------------------------===//
include "llvm/Target/Target.td"
//===----------------------------------------------------------------------===//
// Subtarget Features.
//===----------------------------------------------------------------------===//
include "XtensaFeatures.td"
//===----------------------------------------------------------------------===//
// Xtensa supported processors.
//===----------------------------------------------------------------------===//
class Proc<string Name, list<SubtargetFeature> Features>
: Processor<Name, NoItineraries, Features>;
def : Proc<"generic", []>;
//===----------------------------------------------------------------------===//
// Register File Description
//===----------------------------------------------------------------------===//
include "XtensaRegisterInfo.td"
//===----------------------------------------------------------------------===//
// Calling Convention Description
//===----------------------------------------------------------------------===//
include "XtensaCallingConv.td"
//===----------------------------------------------------------------------===//
// Instruction Descriptions
//===----------------------------------------------------------------------===//
include "XtensaInstrInfo.td"
def XtensaInstrInfo : InstrInfo;
//===----------------------------------------------------------------------===//
// Target Declaration
//===----------------------------------------------------------------------===//
def XtensaAsmParser : AsmParser {
let ShouldEmitMatchRegisterAltName = 1;
}
def XtensaInstPrinter : AsmWriter {
string AsmWriterClassName = "InstPrinter";
}
def Xtensa : Target {
let InstructionSet = XtensaInstrInfo;
let AssemblyWriters = [XtensaInstPrinter];
let AssemblyParsers = [XtensaAsmParser];
}