diff options
author | Daniel Sanders <daniel_l_sanders@apple.com> | 2019-01-03 00:14:33 +0000 |
---|---|---|
committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2019-01-03 00:14:33 +0000 |
commit | 5367c025826523075c62b90413442d9fc6b18b4e (patch) | |
tree | e9abe68e6d28ba688d2ae7429bc6f6c72227329a /test/TableGen | |
parent | 02e82c3508b539a123f111378bcaf16267e9277d (diff) | |
download | llvm-5367c025826523075c62b90413442d9fc6b18b4e.tar.gz |
[tblgen][disasm] Emit record names again when decoder conflicts occur.
And add a test for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350277 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/TableGen')
-rw-r--r-- | test/TableGen/FixedLenDecoderEmitter/conflict.td | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/TableGen/FixedLenDecoderEmitter/conflict.td b/test/TableGen/FixedLenDecoderEmitter/conflict.td new file mode 100644 index 00000000000..a9a95bc05a3 --- /dev/null +++ b/test/TableGen/FixedLenDecoderEmitter/conflict.td @@ -0,0 +1,35 @@ +// 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 |