Skip to content

Commit fd6f87f

Browse files
committed
(CMP)XCHG uops
1 parent bc45c69 commit fd6f87f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

llvm/lib/Target/X86/X86ScheduleZnver4.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -663,14 +663,14 @@ def : InstRW<[Zn4WriteCMPXCHG8rm_LCMPXCHG8], (instrs CMPXCHG8rm, LCMPXCHG8)>;
663663
def Zn4WriteCMPXCHG8B : SchedWriteRes<[Zn4ALU0123]> {
664664
let Latency = 3; // FIXME: not from llvm-exegesis
665665
let ReleaseAtCycles = [24];
666-
let NumMicroOps = 19;
666+
let NumMicroOps = 15;
667667
}
668668
def : InstRW<[Zn4WriteCMPXCHG8B], (instrs CMPXCHG8B)>;
669669

670670
def Zn4WriteCMPXCHG16B_LCMPXCHG16B : SchedWriteRes<[Zn4ALU0123]> {
671671
let Latency = 4; // FIXME: not from llvm-exegesis
672672
let ReleaseAtCycles = [59];
673-
let NumMicroOps = 28;
673+
let NumMicroOps = 26;
674674
}
675675
def : InstRW<[Zn4WriteCMPXCHG16B_LCMPXCHG16B], (instrs CMPXCHG16B, LCMPXCHG16B)>;
676676

@@ -684,7 +684,7 @@ def : InstRW<[Zn4WriteWriteXCHGUnrenameable], (instrs XCHG8rr, XCHG16rr, XCHG16a
684684
def Zn4WriteXCHG8rm_XCHG16rm : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4ALU0123]> {
685685
let Latency = !add(Znver4Model.LoadLatency, 3); // FIXME: not from llvm-exegesis
686686
let ReleaseAtCycles = [1, 1, 2];
687-
let NumMicroOps = 5;
687+
let NumMicroOps = 2;
688688
}
689689
def : InstRW<[Zn4WriteXCHG8rm_XCHG16rm], (instrs XCHG8rm, XCHG16rm)>;
690690

0 commit comments

Comments
 (0)