Xamarin Public Jenkins (auto-signing) 8625704ad8 Imported Upstream version 5.18.0.179
Former-commit-id: 67aa10e65b237e1c4537630979ee99ebe1374215
2018-10-25 08:34:57 +00:00

48 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";
let Namespace = "Arch";
}
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: };