Skip to content

Commit b5d673e

Browse files
committed
Add a test
1 parent c65988c commit b5d673e

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// RUN: llvm-tblgen -gen-disassembler -I %p/../../../include %s | FileCheck %s
2+
3+
include "llvm/Target/Target.td"
4+
5+
class I : Instruction {
6+
let InOperandList = (ins);
7+
let OutOperandList = (outs);
8+
let Size = 16;
9+
bits<128> Inst;
10+
}
11+
12+
// Check that a 64-bit filter with all bits set does not confuse DecoderEmitter.
13+
//
14+
// CHECK-LABEL: static const uint8_t DecoderTable128[] = {
15+
// CHECK-NEXT: MCD::OPC_ExtractField, 0, 64,
16+
// CHECK-NEXT: MCD::OPC_FilterValue, 1, 8, 0,
17+
// CHECK-NEXT: MCD::OPC_CheckFieldOrFail, 127, 1, 1,
18+
// CHECK-NEXT: MCD::OPC_Decode, 187, 2, 0,
19+
// CHECK-NEXT: MCD::OPC_FilterValueOrFail, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1,
20+
// CHECK-NEXT: MCD::OPC_CheckFieldOrFail, 127, 1, 0,
21+
// CHECK-NEXT: MCD::OPC_Decode, 186, 2, 0,
22+
// CHECK-NEXT: MCD::OPC_Fail,
23+
// CHECK-NEXT: 0
24+
// CHECK-NEXT: };
25+
26+
def I1 : I {
27+
let Inst{63...0} = -1;
28+
let Inst{127} = 0;
29+
}
30+
31+
def I2 : I {
32+
let Inst{63...0} = 1;
33+
let Inst{127} = 1;
34+
}
35+
36+
def II : InstrInfo;
37+
38+
def MyTarget : Target {
39+
let InstructionSet = II;
40+
}

0 commit comments

Comments
 (0)