@@ -383,12 +383,12 @@ foreach LMul = [1, 2, 4, 8] in {
383383foreach mx = SchedMxList in {
384384 defvar IsWorstCase = SMX60IsWorstCaseMX<mx, SchedMxList>.c;
385385
386- let Latency = 4 , ReleaseAtCycles = [Get458Latency<mx>.c ] in {
386+ let Latency = Get458Latency<mx>.c , ReleaseAtCycles = [4 ] in {
387387 defm "" : LMULWriteResMX<"WriteVIMinMaxV", [SMX60_VIEU], mx, IsWorstCase>;
388388 defm "" : LMULWriteResMX<"WriteVIMinMaxX", [SMX60_VIEU], mx, IsWorstCase>;
389389 }
390390
391- let Latency = 4 , ReleaseAtCycles = [Get4816Latency<mx>.c ] in {
391+ let Latency = Get4816Latency<mx>.c , ReleaseAtCycles = [4 ] in {
392392 // Pattern of vadd, vsub, vrsub: 4/4/5/8
393393 // Pattern of vand, vor, vxor: 4/4/8/16
394394 // They are grouped together, so we used the worst case 4/4/8/16
@@ -413,7 +413,7 @@ foreach mx = SchedMxList in {
413413 defm "" : LMULWriteResMX<"WriteVICALUI", [SMX60_VIEU], mx, IsWorstCase>;
414414 }
415415
416- let Latency = 4 , ReleaseAtCycles = [Get461018Latency<mx>.c ] in {
416+ let Latency = Get461018Latency<mx>.c , ReleaseAtCycles = [4 ] in {
417417 defm "" : LMULWriteResMX<"WriteVICALUMV", [SMX60_VIEU], mx, IsWorstCase>;
418418 defm "" : LMULWriteResMX<"WriteVICALUMX", [SMX60_VIEU], mx, IsWorstCase>;
419419 defm "" : LMULWriteResMX<"WriteVICALUMI", [SMX60_VIEU], mx, IsWorstCase>;
@@ -425,7 +425,7 @@ foreach mx = SchedMxList in {
425425 // Pattern of vmacc, vmadd, vmul, vmulh, etc.: e8/e16 = 4/4/5/8, e32 = 5,5,5,8,
426426 // e64 = 7,8,16,32. We use the worst-case until we can split the SEW.
427427 // TODO: change WriteVIMulV, etc to be defined with LMULSEWSchedWrites
428- let Latency = 7 , ReleaseAtCycles = [Get781632Latency<mx>.c ] in {
428+ let Latency = Get781632Latency<mx>.c , ReleaseAtCycles = [7 ] in {
429429 defm "" : LMULWriteResMX<"WriteVIMulV", [SMX60_VIEU], mx, IsWorstCase>;
430430 defm "" : LMULWriteResMX<"WriteVIMulX", [SMX60_VIEU], mx, IsWorstCase>;
431431 defm "" : LMULWriteResMX<"WriteVIMulAddV", [SMX60_VIEU], mx, IsWorstCase>;
@@ -439,7 +439,7 @@ foreach mx = SchedMxList in {
439439foreach mx = SchedMxListW in {
440440 defvar IsWorstCase = SMX60IsWorstCaseMX<mx, SchedMxListW>.c;
441441
442- let Latency = 4 , ReleaseAtCycles = [Get4588Latency<mx>.c ] in {
442+ let Latency = Get4588Latency<mx>.c , ReleaseAtCycles = [4 ] in {
443443 defm "" : LMULWriteResMX<"WriteVIWALUV", [SMX60_VIEU], mx, IsWorstCase>;
444444 defm "" : LMULWriteResMX<"WriteVIWALUX", [SMX60_VIEU], mx, IsWorstCase>;
445445 defm "" : LMULWriteResMX<"WriteVIWALUI", [SMX60_VIEU], mx, IsWorstCase>;
@@ -455,7 +455,7 @@ foreach mx = SchedMxListW in {
455455// Pattern of vdiv: 12/12/12/22/44/88/176
456456// Pattern of vremu: 12/12/12/22/44/88/176
457457// Pattern of vrem: 13/13/13/24/48/96/192
458- // We use the worst-case for all: 12/12/12/24/48/96/192
458+ // We use for all: 12/12/12/24/48/96/192
459459// TODO: Create separate WriteVIRem to more closely match the latencies
460460foreach mx = SchedMxList in {
461461 foreach sew = SchedSEWSet<mx>.val in {
@@ -469,7 +469,7 @@ foreach mx = SchedMxList in {
469469 true: 24
470470 );
471471
472- let Latency = 12, ReleaseAtCycles = [ !mul(Get1248Latency<mx>.c, Multiplier)] in {
472+ let Latency = !mul(Get1248Latency<mx>.c, Multiplier), ReleaseAtCycles = [12 ] in {
473473 defm "" : LMULSEWWriteResMXSEW<"WriteVIDivV", [SMX60_VIEU], mx, sew, IsWorstCase>;
474474 defm "" : LMULSEWWriteResMXSEW<"WriteVIDivX", [SMX60_VIEU], mx, sew, IsWorstCase>;
475475 }
@@ -487,7 +487,7 @@ foreach mx = SchedMxListW in {
487487 true: 1
488488 );
489489
490- let Latency = 4, ReleaseAtCycles = [ !mul(Get4816Latency<mx>.c, Multiplier)] in {
490+ let Latency = !mul(Get4816Latency<mx>.c, Multiplier), ReleaseAtCycles = [4 ] in {
491491 defm "" : LMULWriteResMX<"WriteVNShiftV", [SMX60_VIEU], mx, IsWorstCase>;
492492 defm "" : LMULWriteResMX<"WriteVNShiftX", [SMX60_VIEU], mx, IsWorstCase>;
493493 defm "" : LMULWriteResMX<"WriteVNShiftI", [SMX60_VIEU], mx, IsWorstCase>;
0 commit comments