@@ -61,18 +61,16 @@ def ATValues : GenericEnum {
61
61
def ATsList : GenericTable {
62
62
let FilterClass = "AT";
63
63
let Fields = ["Name", "Encoding", "Requires"];
64
+
65
+ let PrimaryKey = ["Encoding"];
66
+ let PrimaryKeyName = "lookupATByEncoding";
64
67
}
65
68
66
69
def lookupATByName : SearchIndex {
67
70
let Table = ATsList;
68
71
let Key = ["Name"];
69
72
}
70
73
71
- def lookupATByEncoding : SearchIndex {
72
- let Table = ATsList;
73
- let Key = ["Encoding"];
74
- }
75
-
76
74
def : AT<"S1E1R", 0b000, 0b0111, 0b1000, 0b000>;
77
75
def : AT<"S1E2R", 0b100, 0b0111, 0b1000, 0b000>;
78
76
def : AT<"S1E3R", 0b110, 0b0111, 0b1000, 0b000>;
@@ -114,18 +112,16 @@ def DBValues : GenericEnum {
114
112
def DBsList : GenericTable {
115
113
let FilterClass = "DB";
116
114
let Fields = ["Name", "Encoding"];
115
+
116
+ let PrimaryKey = ["Encoding"];
117
+ let PrimaryKeyName = "lookupDBByEncoding";
117
118
}
118
119
119
120
def lookupDBByName : SearchIndex {
120
121
let Table = DBsList;
121
122
let Key = ["Name"];
122
123
}
123
124
124
- def lookupDBByEncoding : SearchIndex {
125
- let Table = DBsList;
126
- let Key = ["Encoding"];
127
- }
128
-
129
125
def : DB<"oshld", 0x1>;
130
126
def : DB<"oshst", 0x2>;
131
127
def : DB<"osh", 0x3>;
@@ -155,18 +151,16 @@ def DBnXSValues : GenericEnum {
155
151
def DBnXSsList : GenericTable {
156
152
let FilterClass = "DBnXS";
157
153
let Fields = ["Name", "Encoding", "ImmValue", "Requires"];
154
+
155
+ let PrimaryKey = ["Encoding"];
156
+ let PrimaryKeyName = "lookupDBnXSByEncoding";
158
157
}
159
158
160
159
def lookupDBnXSByName : SearchIndex {
161
160
let Table = DBnXSsList;
162
161
let Key = ["Name"];
163
162
}
164
163
165
- def lookupDBnXSByEncoding : SearchIndex {
166
- let Table = DBnXSsList;
167
- let Key = ["Encoding"];
168
- }
169
-
170
164
def lookupDBnXSByImmValue : SearchIndex {
171
165
let Table = DBnXSsList;
172
166
let Key = ["ImmValue"];
@@ -201,18 +195,16 @@ def DCValues : GenericEnum {
201
195
def DCsList : GenericTable {
202
196
let FilterClass = "DC";
203
197
let Fields = ["Name", "Encoding", "Requires"];
198
+
199
+ let PrimaryKey = ["Encoding"];
200
+ let PrimaryKeyName = "lookupDCByEncoding";
204
201
}
205
202
206
203
def lookupDCByName : SearchIndex {
207
204
let Table = DCsList;
208
205
let Key = ["Name"];
209
206
}
210
207
211
- def lookupDCByEncoding : SearchIndex {
212
- let Table = DCsList;
213
- let Key = ["Encoding"];
214
- }
215
-
216
208
def : DC<"ZVA", 0b011, 0b0111, 0b0100, 0b001>;
217
209
def : DC<"IVAC", 0b000, 0b0111, 0b0110, 0b001>;
218
210
def : DC<"ISW", 0b000, 0b0111, 0b0110, 0b010>;
@@ -289,18 +281,16 @@ def ICValues : GenericEnum {
289
281
def ICsList : GenericTable {
290
282
let FilterClass = "IC";
291
283
let Fields = ["Name", "Encoding", "NeedsReg"];
284
+
285
+ let PrimaryKey = ["Encoding"];
286
+ let PrimaryKeyName = "lookupICByEncoding";
292
287
}
293
288
294
289
def lookupICByName : SearchIndex {
295
290
let Table = ICsList;
296
291
let Key = ["Name"];
297
292
}
298
293
299
- def lookupICByEncoding : SearchIndex {
300
- let Table = ICsList;
301
- let Key = ["Encoding"];
302
- }
303
-
304
294
def : IC<"IALLUIS", 0b000, 0b0111, 0b0001, 0b000, 0>;
305
295
def : IC<"IALLU", 0b000, 0b0111, 0b0101, 0b000, 0>;
306
296
def : IC<"IVAU", 0b011, 0b0111, 0b0101, 0b001, 1>;
@@ -324,18 +314,16 @@ def ISBValues : GenericEnum {
324
314
def ISBsList : GenericTable {
325
315
let FilterClass = "ISB";
326
316
let Fields = ["Name", "Encoding"];
317
+
318
+ let PrimaryKey = ["Encoding"];
319
+ let PrimaryKeyName = "lookupISBByEncoding";
327
320
}
328
321
329
322
def lookupISBByName : SearchIndex {
330
323
let Table = ISBsList;
331
324
let Key = ["Name"];
332
325
}
333
326
334
- def lookupISBByEncoding : SearchIndex {
335
- let Table = ISBsList;
336
- let Key = ["Encoding"];
337
- }
338
-
339
327
def : ISB<"sy", 0xf>;
340
328
341
329
//===----------------------------------------------------------------------===//
@@ -359,18 +347,16 @@ def TSBValues : GenericEnum {
359
347
def TSBsList : GenericTable {
360
348
let FilterClass = "TSB";
361
349
let Fields = ["Name", "Encoding", "Requires"];
350
+
351
+ let PrimaryKey = ["Encoding"];
352
+ let PrimaryKeyName = "lookupTSBByEncoding";
362
353
}
363
354
364
355
def lookupTSBByName : SearchIndex {
365
356
let Table = TSBsList;
366
357
let Key = ["Name"];
367
358
}
368
359
369
- def lookupTSBByEncoding : SearchIndex {
370
- let Table = TSBsList;
371
- let Key = ["Encoding"];
372
- }
373
-
374
360
def : TSB<"csync", 0>;
375
361
376
362
//===----------------------------------------------------------------------===//
@@ -398,18 +384,16 @@ def PRFMValues : GenericEnum {
398
384
def PRFMsList : GenericTable {
399
385
let FilterClass = "PRFM";
400
386
let Fields = ["Name", "Encoding", "Requires"];
387
+
388
+ let PrimaryKey = ["Encoding"];
389
+ let PrimaryKeyName = "lookupPRFMByEncoding";
401
390
}
402
391
403
392
def lookupPRFMByName : SearchIndex {
404
393
let Table = PRFMsList;
405
394
let Key = ["Name"];
406
395
}
407
396
408
- def lookupPRFMByEncoding : SearchIndex {
409
- let Table = PRFMsList;
410
- let Key = ["Encoding"];
411
- }
412
-
413
397
def : PRFM<"pld", 0b00, "l1", 0b00, "keep", 0b0>;
414
398
def : PRFM<"pld", 0b00, "l1", 0b00, "strm", 0b1>;
415
399
def : PRFM<"pld", 0b00, "l2", 0b01, "keep", 0b0>;
@@ -461,18 +445,16 @@ def SVEPRFMValues : GenericEnum {
461
445
def SVEPRFMsList : GenericTable {
462
446
let FilterClass = "SVEPRFM";
463
447
let Fields = ["Name", "Encoding", "Requires"];
448
+
449
+ let PrimaryKey = ["Encoding"];
450
+ let PrimaryKeyName = "lookupSVEPRFMByEncoding";
464
451
}
465
452
466
453
def lookupSVEPRFMByName : SearchIndex {
467
454
let Table = SVEPRFMsList;
468
455
let Key = ["Name"];
469
456
}
470
457
471
- def lookupSVEPRFMByEncoding : SearchIndex {
472
- let Table = SVEPRFMsList;
473
- let Key = ["Encoding"];
474
- }
475
-
476
458
let Requires = [{ {AArch64::FeatureSVE} }] in {
477
459
def : SVEPRFM<"pldl1keep", 0x00>;
478
460
def : SVEPRFM<"pldl1strm", 0x01>;
@@ -545,18 +527,16 @@ def SVEPREDPATValues : GenericEnum {
545
527
def SVEPREDPATsList : GenericTable {
546
528
let FilterClass = "SVEPREDPAT";
547
529
let Fields = ["Name", "Encoding"];
530
+
531
+ let PrimaryKey = ["Encoding"];
532
+ let PrimaryKeyName = "lookupSVEPREDPATByEncoding";
548
533
}
549
534
550
535
def lookupSVEPREDPATByName : SearchIndex {
551
536
let Table = SVEPREDPATsList;
552
537
let Key = ["Name"];
553
538
}
554
539
555
- def lookupSVEPREDPATByEncoding : SearchIndex {
556
- let Table = SVEPREDPATsList;
557
- let Key = ["Encoding"];
558
- }
559
-
560
540
def : SVEPREDPAT<"pow2", 0x00>;
561
541
def : SVEPREDPAT<"vl1", 0x01>;
562
542
def : SVEPREDPAT<"vl2", 0x02>;
@@ -594,18 +574,16 @@ def SVEVECLENSPECIFIERValues : GenericEnum {
594
574
def SVEVECLENSPECIFIERsList : GenericTable {
595
575
let FilterClass = "SVEVECLENSPECIFIER";
596
576
let Fields = ["Name", "Encoding"];
577
+
578
+ let PrimaryKey = ["Encoding"];
579
+ let PrimaryKeyName = "lookupSVEVECLENSPECIFIERByEncoding";
597
580
}
598
581
599
582
def lookupSVEVECLENSPECIFIERByName : SearchIndex {
600
583
let Table = SVEVECLENSPECIFIERsList;
601
584
let Key = ["Name"];
602
585
}
603
586
604
- def lookupSVEVECLENSPECIFIERByEncoding : SearchIndex {
605
- let Table = SVEVECLENSPECIFIERsList;
606
- let Key = ["Encoding"];
607
- }
608
-
609
587
def : SVEVECLENSPECIFIER<"vlx2", 0x0>;
610
588
def : SVEVECLENSPECIFIER<"vlx4", 0x1>;
611
589
@@ -664,18 +642,16 @@ def PStateImm0_15Values : GenericEnum {
664
642
def PStateImm0_15sList : GenericTable {
665
643
let FilterClass = "PStateImm0_15";
666
644
let Fields = ["Name", "Encoding", "Requires"];
645
+
646
+ let PrimaryKey = ["Encoding"];
647
+ let PrimaryKeyName = "lookupPStateImm0_15ByEncoding";
667
648
}
668
649
669
650
def lookupPStateImm0_15ByName : SearchIndex {
670
651
let Table = PStateImm0_15sList;
671
652
let Key = ["Name"];
672
653
}
673
654
674
- def lookupPStateImm0_15ByEncoding : SearchIndex {
675
- let Table = PStateImm0_15sList;
676
- let Key = ["Encoding"];
677
- }
678
-
679
655
class PStateImm0_1<string name, bits<3> op1, bits<3> op2, bits<3> crm_high> {
680
656
string Name = name;
681
657
bits<9> Encoding;
@@ -694,18 +670,16 @@ def PStateImm0_1Values : GenericEnum {
694
670
def PStateImm0_1sList : GenericTable {
695
671
let FilterClass = "PStateImm0_1";
696
672
let Fields = ["Name", "Encoding", "Requires"];
673
+
674
+ let PrimaryKey = ["Encoding"];
675
+ let PrimaryKeyName = "lookupPStateImm0_1ByEncoding";
697
676
}
698
677
699
678
def lookupPStateImm0_1ByName : SearchIndex {
700
679
let Table = PStateImm0_1sList;
701
680
let Key = ["Name"];
702
681
}
703
682
704
- def lookupPStateImm0_1ByEncoding : SearchIndex {
705
- let Table = PStateImm0_1sList;
706
- let Key = ["Encoding"];
707
- }
708
-
709
683
// Name, Op1, Op2
710
684
def : PStateImm0_15<"SPSel", 0b000, 0b101>;
711
685
def : PStateImm0_15<"DAIFSet", 0b011, 0b110>;
@@ -753,18 +727,16 @@ def SVCRValues : GenericEnum {
753
727
def SVCRsList : GenericTable {
754
728
let FilterClass = "SVCR";
755
729
let Fields = ["Name", "Encoding", "Requires"];
730
+
731
+ let PrimaryKey = ["Encoding"];
732
+ let PrimaryKeyName = "lookupSVCRByEncoding";
756
733
}
757
734
758
735
def lookupSVCRByName : SearchIndex {
759
736
let Table = SVCRsList;
760
737
let Key = ["Name"];
761
738
}
762
739
763
- def lookupSVCRByEncoding : SearchIndex {
764
- let Table = SVCRsList;
765
- let Key = ["Encoding"];
766
- }
767
-
768
740
let Requires = [{ {AArch64::FeatureSME} }] in {
769
741
def : SVCR<"SVCRSM", 0b001>;
770
742
def : SVCR<"SVCRZA", 0b010>;
@@ -790,18 +762,16 @@ def PSBValues : GenericEnum {
790
762
def PSBsList : GenericTable {
791
763
let FilterClass = "PSB";
792
764
let Fields = ["Name", "Encoding"];
765
+
766
+ let PrimaryKey = ["Encoding"];
767
+ let PrimaryKeyName = "lookupPSBByEncoding";
793
768
}
794
769
795
770
def lookupPSBByName : SearchIndex {
796
771
let Table = PSBsList;
797
772
let Key = ["Name"];
798
773
}
799
774
800
- def lookupPSBByEncoding : SearchIndex {
801
- let Table = PSBsList;
802
- let Key = ["Encoding"];
803
- }
804
-
805
775
def : PSB<"csync", 0x11>;
806
776
807
777
//===----------------------------------------------------------------------===//
@@ -823,18 +793,16 @@ def BTIValues : GenericEnum {
823
793
def BTIsList : GenericTable {
824
794
let FilterClass = "BTI";
825
795
let Fields = ["Name", "Encoding"];
796
+
797
+ let PrimaryKey = ["Encoding"];
798
+ let PrimaryKeyName = "lookupBTIByEncoding";
826
799
}
827
800
828
801
def lookupBTIByName : SearchIndex {
829
802
let Table = BTIsList;
830
803
let Key = ["Name"];
831
804
}
832
805
833
- def lookupBTIByEncoding : SearchIndex {
834
- let Table = BTIsList;
835
- let Key = ["Encoding"];
836
- }
837
-
838
806
def : BTI<"c", 0b010>;
839
807
def : BTI<"j", 0b100>;
840
808
def : BTI<"jc", 0b110>;
@@ -861,18 +829,16 @@ def TLBITable : GenericTable {
861
829
let FilterClass = "TLBIEntry";
862
830
let CppTypeName = "TLBI";
863
831
let Fields = ["Name", "Encoding", "NeedsReg", "RequiresStr"];
832
+
833
+ let PrimaryKey = ["Encoding"];
834
+ let PrimaryKeyName = "lookupTLBIByEncoding";
864
835
}
865
836
866
837
def lookupTLBIByName : SearchIndex {
867
838
let Table = TLBITable;
868
839
let Key = ["Name"];
869
840
}
870
841
871
- def lookupTLBIByEncoding : SearchIndex {
872
- let Table = TLBITable;
873
- let Key = ["Encoding"];
874
- }
875
-
876
842
multiclass TLBI<string name, bits<3> op1, bits<4> crn, bits<4> crm,
877
843
bits<3> op2, bit needsreg = 1> {
878
844
def : TLBIEntry<name, op1, crn, crm, op2, needsreg>;
@@ -2382,18 +2348,16 @@ def PHintValues : GenericEnum {
2382
2348
def PHintsList : GenericTable {
2383
2349
let FilterClass = "PHint";
2384
2350
let Fields = ["Name", "Encoding", "Requires"];
2351
+
2352
+ let PrimaryKey = ["Encoding"];
2353
+ let PrimaryKeyName = "lookupPHintByEncoding";
2385
2354
}
2386
2355
2387
2356
def lookupPHintByName : SearchIndex {
2388
2357
let Table = PHintsList;
2389
2358
let Key = ["Name"];
2390
2359
}
2391
2360
2392
- def lookupPHintByEncoding : SearchIndex {
2393
- let Table = PHintsList;
2394
- let Key = ["Encoding"];
2395
- }
2396
-
2397
2361
let Requires = [{ {AArch64::FeaturePCDPHINT} }] in {
2398
2362
def KEEP : PHint<0b00, 0b000, 0b0000, 0b0000, 0b000, "keep">;
2399
2363
def STRM : PHint<0b00, 0b000, 0b0000, 0b0000, 0b001, "strm">;
0 commit comments