// 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: };