[PATCH] D115547: [X86] Adjust some IceLake integer shuffle schedule classes (PR48110)

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 12 02:34:40 PST 2021


RKSimon added inline comments.


================
Comment at: llvm/lib/Target/X86/X86SchedIceLake.td:391
 defm : ICXWriteResPair<WritePMULLDZ,  [ICXPort05], 10, [2], 2, 7>;
-defm : ICXWriteResPair<WriteShuffle,  [ICXPort5], 1, [1], 1, 5>; // Vector shuffles.
-defm : ICXWriteResPair<WriteShuffleX, [ICXPort5], 1, [1], 1, 6>;
-defm : ICXWriteResPair<WriteShuffleY, [ICXPort5], 1, [1], 1, 7>;
-defm : ICXWriteResPair<WriteShuffleZ, [ICXPort5], 1, [1], 1, 7>;
-defm : ICXWriteResPair<WriteVarShuffle,  [ICXPort5], 1, [1], 1, 5>; // Vector variable shuffles.
-defm : ICXWriteResPair<WriteVarShuffleX, [ICXPort5], 1, [1], 1, 6>;
-defm : ICXWriteResPair<WriteVarShuffleY, [ICXPort5], 1, [1], 1, 7>;
-defm : ICXWriteResPair<WriteVarShuffleZ, [ICXPort5], 1, [1], 1, 7>;
+defm : ICXWriteResPair<WriteShuffle,  [ICXPort5],  1, [1], 1, 5>; // Vector shuffles.
+defm : ICXWriteResPair<WriteShuffleX, [ICXPort15], 1, [1], 1, 6>;
----------------
pengfei wrote:
> What's `WriteShuffle` used for? I saw some `*Z128` use it as well. Why does it only work on port5?
Its mainly for MMX shuffles


================
Comment at: llvm/lib/Target/X86/X86SchedIceLake.td:668
+                                            "VPBROADCAST(D|Q)rr",
+                                            "(V)?PALIGNR(Y|Z128|Z256)?rri",
+                                            "(V?)PACK(U|S)S(DW|WB)(Y|Z128|Z256)?rr")>;
----------------
pengfei wrote:
> pengfei wrote:
> > Just for curious, what's the difference between `(V)?` and `(V?)`
> `Y|Z|Z128|Z256`?
> Just for curious, what's the difference between (V)? and (V?)

I think for single cases inside the () there isn't any - I'll try to be consistent




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D115547



More information about the llvm-commits mailing list