| // 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 |