[PATCH] D60367: [TableGen] Introduce !listsplat 'binary' operator

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 6 15:50:25 PDT 2019


craig.topper added a comment.

I wonder if !listfill might be a better name? I feel like splat has a meaning to those of us who have worked on vectors within LLVM IR, but may not be meaningful right away to other people?



================
Comment at: lib/Target/X86/X86ScheduleBdVer2.td:214
+                          !listsplat(1, !size(ExePorts)),
+                          Res))),
                     !add(UOps, LoadUOps)>;
----------------
lebedev.ri wrote:
> lebedev.ri wrote:
> > craig.topper wrote:
> > > Doesn’t WriteRes already treat an empty list as 1 cycle per port?
> > The problem is that you can't concatenate an empty list (implied all-ones) with non-empty list here.
> > The result will be the non-empty list, and it won't match the length of the `ExePorts` list.
> > 
> Or, to actually answer your question, the problems begin when `LoadRes` != `1` here,
> which is the case in `PdWriteResYMMPair`, and more importantly i think it will be the case for `PdWriteResExPair`
Ok that makes sense.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D60367





More information about the llvm-commits mailing list