[PATCH] D108372: [X86][SchedModels] Fix missing ReadAdvance for MULX and ADCX/ADOX (PR51494)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 20 08:00:31 PDT 2021


lebedev.ri added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ScheduleZnver3.td:631
   let Latency = !add(Znver3Model.LoadLatency, Zn3MULX32rr.Latency);
   let ResourceCycles = [1, 1, 2];
   let NumMicroOps = Zn3MULX32rr.NumMicroOps;
----------------
lebedev.ri wrote:
> andreadb wrote:
> > RKSimon wrote:
> > > its weird that the rm variant uses the Zn3Multiplier pipe for an extra cycle......
> > Yeah. That is basically the reason why I couldn't remove the InstRW from the znver3 model.
> > 
> > I also wonder why there is an extra Zn3Multiplier cycle only for the RM variants. Normally, you would expect the RM variants to semantically behave like a Load+RR sequence.
> > 
> > Maybe it was done intentionally, to artificially decrease the throughput of the MULX RM variants only (in order to better match the exegesis report).
> > 
> Yes, but i'm pretty sure this is not a typo.
> There might be modelling problems in mca/exegesis, so it //might// be spurious.
> Maybe it was done intentionally, to artificially decrease the throughput of the MULX RM variants only (in order to better match the exegesis report).

Yep, that was my comment precisely.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108372/new/

https://reviews.llvm.org/D108372



More information about the llvm-commits mailing list