diff --git a/llvm/lib/Target/X86/X86ScheduleZnver2.td b/llvm/lib/Target/X86/X86ScheduleZnver2.td index 2103169fc7659e..5051d4c6ae3f5e 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver2.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver2.td @@ -485,12 +485,6 @@ defm : Zn2WriteResFpuPair; def Zn2WriteMicrocoded : SchedWriteRes<[]> { let Latency = 100; } -defm : Zn2WriteResPair; -defm : Zn2WriteResPair; -defm : Zn2WriteResPair; -defm : Zn2WriteResPair; -defm : Zn2WriteResPair; -defm : Zn2WriteResPair; def : SchedAlias; def : SchedAlias; @@ -1108,6 +1102,14 @@ def : InstRW<[WriteMicrocoded], (instregex "VPGATHER(Q|D)(Q|D)(Y?)rm")>; //-- Arithmetic instructions --// +// HADD, HSUB PS/PD +// PHADD|PHSUB (S) W/D. +defm : Zn2WriteResPair; +defm : Zn2WriteResPair; +defm : Zn2WriteResPair; +defm : Zn2WriteResPair; +defm : Zn2WriteResPair; + // PCMPGTQ. def Zn2WritePCMPGTQr : SchedWriteRes<[Zn2FPU03]>; def : InstRW<[Zn2WritePCMPGTQr], (instregex "(V?)PCMPGTQ(Y?)rr")>; @@ -1478,6 +1480,7 @@ def : SchedAlias; // DPPS. // x,x,i / v,v,v,i. +defm : Zn2WriteResPair; def : SchedAlias; // x,m,i / v,v,m,i.