[PATCH] D73844: [X86] Update the haswell and broadwell scheduler information for gather instructions

Andrea Di Biagio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 3 04:01:20 PST 2020


andreadb added a comment.

The change looks pretty mechanical, and I trust that the new numbers are correct.

I noticed that gather instructions in tablegen are all associated with `Sched<[WriteLoad]>` (see multiclass avx2_gather in X86InstrSSE.td).
A quick grep of GATHER in directory Target/X86 shows how most (if not all?) avx2 processor models currently introduce InstRW definitions to override the scheduling class of gather instructions.
Basically, `WriteLoad` is clearly not a good choice for gather instructions. Presumably that is the reason why there is a FIXME comment on avx2_gather (in X86InstrSSE.td) that writes "Improve sheduling of gather instructions.".

Here is the idea: why don't we just add new writes for gather instructions (ideally a new write per each type of gather)?. I think that we shall consider this alternative (maybe in a follow up patch? I don't particularly mind..). Not sure if other people agree with this.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73844





More information about the llvm-commits mailing list