@@ -25,33 +25,34 @@ include "llvm/TableGen/SearchableTable.td"
25
25
// CHECK-LABEL: GET_ATable_IMPL
26
26
// CHECK: constexpr AEntry ATable[] = {
27
27
// CHECK-NOT: { "aaa"
28
- // CHECK: { "baz"
29
- // CHECK: { "foo"
30
- // CHECK: { "foobar"
31
- // CHECK: { "bar"
28
+ // CHECK: { "baz", 0x2, 0x6, 0x0 },
29
+ // CHECK: { "foo", 0x4, 0x4, 0x0 },
30
+ // CHECK: { "foobar", 0x4, 0x5, 0x0 },
31
+ // CHECK: { "bar", 0x5, 0x3, 0x0 },
32
32
// CHECK: };
33
33
34
34
// CHECK: const AEntry *lookupATableByValues(uint8_t Val1, uint16_t Val2) {
35
35
// CHECK: return &*Idx;
36
36
// CHECK: }
37
37
38
- class AEntry<string str, int val1, int val2> {
38
+ class AEntry<string str, int val1, int val2, bits<64> val3 > {
39
39
string Str = str;
40
40
bits<8> Val1 = val1;
41
41
bits<10> Val2 = val2;
42
+ bits<64> Val3 = val3;
42
43
bit IsNeeded = 1;
43
44
}
44
45
45
- def : AEntry<"aaa", 0, 0> { let IsNeeded = 0; }
46
- def : AEntry<"bar", 5, 3>;
47
- def : AEntry<"baz", 2, 6>;
48
- def : AEntry<"foo", 4, 4>;
49
- def : AEntry<"foobar", 4, 5>;
46
+ def : AEntry<"aaa", 0, 0, 0 > { let IsNeeded = 0; }
47
+ def : AEntry<"bar", 5, 3, 0x100000000 >;
48
+ def : AEntry<"baz", 2, 6, 0xFFFFFFFF00000000 >;
49
+ def : AEntry<"foo", 4, 4, 0b0000000000000000000000000000000100000000000000000000000000000000 >;
50
+ def : AEntry<"foobar", 4, 5, 4294967296 >;
50
51
51
52
def ATable : GenericTable {
52
53
let FilterClass = "AEntry";
53
54
let FilterClassField = "IsNeeded";
54
- let Fields = ["Str", "Val1", "Val2"];
55
+ let Fields = ["Str", "Val1", "Val2", "Val3" ];
55
56
56
57
let PrimaryKey = ["Val1", "Val2"];
57
58
let PrimaryKeyName = "lookupATableByValues";
0 commit comments