mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-02 16:56:50 +00:00
5188cfa18e
Reviewers: stoklund, grosbach, vpykhtin Differential Revision: https://reviews.llvm.org/D32493 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303044 91177308-0d34-0410-b5e6-96231b3b80d8
47 lines
1.0 KiB
TableGen
47 lines
1.0 KiB
TableGen
// RUN: llvm-tblgen -gen-asm-matcher -I %p/../../include %s | FileCheck %s
|
|
|
|
// Check that specifying AsmVariant works correctly
|
|
|
|
include "llvm/Target/Target.td"
|
|
|
|
def ArchInstrInfo : InstrInfo { }
|
|
|
|
def FooAsmParserVariant : AsmParserVariant {
|
|
let Variant = 0;
|
|
let Name = "Foo";
|
|
}
|
|
|
|
def BarAsmParserVariant : AsmParserVariant {
|
|
let Variant = 1;
|
|
let Name = "Bar";
|
|
}
|
|
|
|
def Arch : Target {
|
|
let InstructionSet = ArchInstrInfo;
|
|
let AssemblyParserVariants = [FooAsmParserVariant, BarAsmParserVariant];
|
|
}
|
|
|
|
def Reg : Register<"reg">;
|
|
|
|
def RegClass : RegisterClass<"foo", [i32], 0, (add Reg)>;
|
|
|
|
def foo : Instruction {
|
|
let Size = 2;
|
|
let OutOperandList = (outs);
|
|
let InOperandList = (ins);
|
|
let AsmString = "foo";
|
|
let AsmVariantName = "Foo";
|
|
}
|
|
|
|
def BarAlias : InstAlias<"bar", (foo)> {
|
|
string AsmVariantName = "Bar";
|
|
}
|
|
|
|
// CHECK: static const MatchEntry MatchTable0[] = {
|
|
// CHECK-NEXT: /* foo */, Arch::foo
|
|
// CHECK-NEXT: };
|
|
|
|
// CHECK: static const MatchEntry MatchTable1[] = {
|
|
// CHECK-NEXT: /* bar */, Arch::foo
|
|
// CHECK-NEXT: };
|