@@ -351,7 +351,7 @@ class NFList<int lmul> {
351
351
// Generate [start, end) SubRegIndex list.
352
352
class SubRegSet<int nf, int lmul> {
353
353
list<SubRegIndex> L = !foldl([]<SubRegIndex>,
354
- [ 0, 1, 2, 3, 4, 5, 6, 7] ,
354
+ !range( 0, 8) ,
355
355
AccList, i,
356
356
!listconcat(AccList,
357
357
!if(!lt(i, nf),
@@ -379,15 +379,9 @@ class IndexSet<int tuple_index, int nf, int lmul, bit isV0 = false> {
379
379
!foldl([]<int>,
380
380
!if(isV0, [0],
381
381
!cond(
382
- !eq(lmul, 1):
383
- [8, 9, 10, 11, 12, 13, 14, 15,
384
- 16, 17, 18, 19, 20, 21, 22, 23,
385
- 24, 25, 26, 27, 28, 29, 30, 31,
386
- 1, 2, 3, 4, 5, 6, 7],
387
- !eq(lmul, 2):
388
- [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3],
389
- !eq(lmul, 4):
390
- [2, 3, 4, 5, 6, 7, 1])),
382
+ !eq(lmul, 1): !listconcat(!range(8, 32), !range(1, 8)),
383
+ !eq(lmul, 2): !listconcat(!range(4, 16), !range(1, 4)),
384
+ !eq(lmul, 4): !listconcat(!range(2, 8), !range(1, 2)))),
391
385
L, i,
392
386
!listconcat(L,
393
387
!if(!le(!mul(!add(i, tuple_index), lmul),
@@ -417,12 +411,11 @@ class VRegList<list<dag> LIn, int start, int nf, int lmul, bit isV0> {
417
411
}
418
412
419
413
// Vector registers
420
- foreach Index = 0-31 in {
414
+ foreach Index = !range(0, 32, 1) in {
421
415
def V#Index : RISCVReg<Index, "v"#Index>, DwarfRegNum<[!add(Index, 96)]>;
422
416
}
423
417
424
- foreach Index = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22,
425
- 24, 26, 28, 30] in {
418
+ foreach Index = !range(0, 32, 2) in {
426
419
def V#Index#M2 : RISCVRegWithSubRegs<Index, "v"#Index,
427
420
[!cast<Register>("V"#Index),
428
421
!cast<Register>("V"#!add(Index, 1))]>,
@@ -431,7 +424,7 @@ foreach Index = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22,
431
424
}
432
425
}
433
426
434
- foreach Index = [ 0, 4, 8, 12, 16, 20, 24, 28] in {
427
+ foreach Index = !range( 0, 32, 4) in {
435
428
def V#Index#M4 : RISCVRegWithSubRegs<Index, "v"#Index,
436
429
[!cast<Register>("V"#Index#"M2"),
437
430
!cast<Register>("V"#!add(Index, 2)#"M2")]>,
@@ -440,7 +433,7 @@ foreach Index = [0, 4, 8, 12, 16, 20, 24, 28] in {
440
433
}
441
434
}
442
435
443
- foreach Index = [ 0, 8, 16, 24] in {
436
+ foreach Index = !range( 0, 32, 8) in {
444
437
def V#Index#M8 : RISCVRegWithSubRegs<Index, "v"#Index,
445
438
[!cast<Register>("V"#Index#"M4"),
446
439
!cast<Register>("V"#!add(Index, 4)#"M4")]>,
0 commit comments