// RUN: llvm-tblgen -gen-disassembler -I %p/../../../include %s | FileCheck %s include "llvm/Target/Target.td" class I opcode> : Instruction { let InOperandList = ins; let OutOperandList = outs; bits<5> dst; bits<5> src0; bits<5> src1; int Size = 16; bits<128> Inst; let Inst{4...0} = opcode; let Inst{9...5} = dst; let Inst{14...10} = src0; let Inst{19...15} = src1; let Inst{127...20} = 0xdeadbeef; } def Reg : Register<"reg">; def Regs : RegisterClass<"foo", [i32], 0, (add Reg)>; def IAdd : I<(outs Regs:$dst), (ins Regs:$src0, Regs:$src1), 0b10101>; // CHECK-LABEL: static const uint8_t DecoderTable128[20] = { // CHECK-NEXT: OPC_CheckField, 84, 44, 0, // 0: check Inst[127:84] == 0x0 // CHECK-NEXT: OPC_CheckField, 20, 64, 239, 253, 182, 245, 13, def II : InstrInfo; def MyTarget : Target { let InstructionSet = II; }