[X86][SLM] Fix PBLENDVB uops and throughput
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 2 Sep 2021 17:07:40 +0000 (18:07 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 3 Sep 2021 10:31:29 +0000 (11:31 +0100)
commit6ba0b9f68ac9b3a058a2e98e5c4d1e039eff662f
tree06144653b4703a835e99f43cca62470ead8f5c0f
parente28cd75a5039893db5861f49eeea9eb5b59bdcdc
[X86][SLM] Fix PBLENDVB uops and throughput

SLM PBLENDVB is just as bad as BLENDVPD/PS - so model it as such, fixing the rr vs rm uops diff as well. The Intel AoM appears to have a copy+paste typo with PBLENDW, it doesn't match Agner or InstLatX64.

Noticed while investigating some of the weird discrepancies reported by the D103695 helper script (SLM had much better vector shift throughputs than it should).
llvm/lib/Target/X86/X86ScheduleSLM.td
llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s