@@ -413,7 +413,7 @@ def RISCVVIntrinsicsTable : GenericTable {
413
413
let PrimaryKeyName = "getRISCVVIntrinsicInfo";
414
414
}
415
415
416
- class RISCVVLX <bit M, bit O, bits<7> S, bits<3> L, bits<3> IL> {
416
+ class RISCVVLX_VSX <bit M, bit O, bits<7> S, bits<3> L, bits<3> IL> {
417
417
bits<1> Masked = M;
418
418
bits<1> Ordered = O;
419
419
bits<7> SEW = S;
@@ -422,28 +422,24 @@ class RISCVVLX<bit M, bit O, bits<7> S, bits<3> L, bits<3> IL> {
422
422
Pseudo Pseudo = !cast<Pseudo>(NAME);
423
423
}
424
424
425
- def RISCVVLXTable : GenericTable {
426
- let FilterClass = "RISCVVLX";
425
+ class RISCVVLX<bit M, bit O, bits<7> S, bits<3> L, bits<3> IL> :
426
+ RISCVVLX_VSX<M, O, S, L, IL>;
427
+ class RISCVVSX<bit M, bit O, bits<7> S, bits<3> L, bits<3> IL> :
428
+ RISCVVLX_VSX<M, O, S, L, IL>;
429
+
430
+ class RISCVVLX_VSXTable : GenericTable {
427
431
let CppTypeName = "VLX_VSXPseudo";
428
432
let Fields = ["Masked", "Ordered", "SEW", "LMUL", "IndexLMUL", "Pseudo"];
429
433
let PrimaryKey = ["Masked", "Ordered", "SEW", "LMUL", "IndexLMUL"];
430
- let PrimaryKeyName = "getVLXPseudo";
431
434
}
432
435
433
- class RISCVVSX<bit M, bit O, bits<7> S, bits<3> L, bits<3> IL> {
434
- bits<1> Masked = M;
435
- bits<1> Ordered = O;
436
- bits<7> SEW = S;
437
- bits<3> LMUL = L;
438
- bits<3> IndexLMUL = IL;
439
- Pseudo Pseudo = !cast<Pseudo>(NAME);
436
+ def RISCVVLXTable : RISCVVLX_VSXTable {
437
+ let FilterClass = "RISCVVLX";
438
+ let PrimaryKeyName = "getVLXPseudo";
440
439
}
441
440
442
- def RISCVVSXTable : GenericTable {
441
+ def RISCVVSXTable : RISCVVLX_VSXTable {
443
442
let FilterClass = "RISCVVSX";
444
- let CppTypeName = "VLX_VSXPseudo";
445
- let Fields = ["Masked", "Ordered", "SEW", "LMUL", "IndexLMUL", "Pseudo"];
446
- let PrimaryKey = ["Masked", "Ordered", "SEW", "LMUL", "IndexLMUL"];
447
443
let PrimaryKeyName = "getVSXPseudo";
448
444
}
449
445
0 commit comments