[PATCH] D45351: [X86] Attempt to model basic arithmetic instructions in the Haswell/Broadwell/Skylake scheduler models without InstRWs

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 5 20:09:43 PDT 2018


craig.topper created this revision.
craig.topper added reviewers: RKSimon, andreadb.

This patch removes InstRW overrides for basic arithmetic/logic instructions. To do this I've added the store address port to RMW. And used a WriteSequence to make the latency additive. It does not cover ADC/SBB because they have different latency.

Apparently we were inconsistent about whether the store has latency or not thus the test changes.

I've also left out Sandy Bridge because the load latency there is currently 4 cycles and should be 5.


https://reviews.llvm.org/D45351

Files:
  lib/Target/X86/X86InstrArithmetic.td
  lib/Target/X86/X86SchedBroadwell.td
  lib/Target/X86/X86SchedHaswell.td
  lib/Target/X86/X86SchedSkylakeClient.td
  lib/Target/X86/X86SchedSkylakeServer.td
  lib/Target/X86/X86Schedule.td
  test/CodeGen/X86/schedule-x86_32.ll
  test/CodeGen/X86/schedule-x86_64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45351.141270.patch
Type: text/x-patch
Size: 129252 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180406/706ed860/attachment-0001.bin>


More information about the llvm-commits mailing list