|  | // RUN: llvm-tblgen -gen-disassembler -I %p/../../../include %s -o - 2>%t | 
|  | // RUN: FileCheck %s < %t | 
|  |  | 
|  | include "llvm/Target/Target.td" | 
|  |  | 
|  | def MyTargetISA : InstrInfo; | 
|  | def MyTarget : Target { let InstructionSet = MyTargetISA; } | 
|  |  | 
|  | def R0 : Register<"r0"> { let Namespace = "MyTarget"; } | 
|  | def GPR32 : RegisterClass<"MyTarget", [i32], 32, (add R0)>; | 
|  |  | 
|  | class I<dag OOps, dag IOps, list<dag> Pat> | 
|  | : Instruction { | 
|  | let Namespace = "MyTarget"; | 
|  | let OutOperandList = OOps; | 
|  | let InOperandList = IOps; | 
|  | let Pattern = Pat; | 
|  | bits<32> Inst; | 
|  | bits<32> SoftFail; | 
|  | } | 
|  |  | 
|  | def A : I<(outs GPR32:$dst), (ins GPR32:$src1), []> { | 
|  | let Size = 4; | 
|  | let Inst{31-0} = 0; | 
|  | } | 
|  | def B : I<(outs GPR32:$dst), (ins GPR32:$src1), []> { | 
|  | let Size = 4; | 
|  | let Inst{31-0} = 0; | 
|  | } | 
|  |  | 
|  | // CHECK: Decoding Conflict: | 
|  | // CHECK:   00000000000000000000000000000000 | 
|  | // CHECK:   ................................ | 
|  | // CHECK: A 00000000000000000000000000000000 | 
|  | // CHECK: B 00000000000000000000000000000000 |