[X86] IceLakeModel - conversion instructions don't use Port015
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 12 Nov 2022 18:17:46 +0000 (18:17 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 12 Nov 2022 18:19:32 +0000 (18:19 +0000)
commit4a28b7ba9816fd7e8ecadfcaf6cfd1949f909dfd
tree3d61aefa87f3b2a9ce6c196bbd932f70254a79b5
parent32bada2edaf8a6ecb515925dda5e736783f5d8eb
[X86] IceLakeModel - conversion instructions don't use Port015

Fixes a lot of throughput mismatches - the more complicated conversion instructions use ICXPort5+ICXPort01, not ICXPort5+ICXPort015 (ICXPort015 is mainly used for basic Logic + blend ops)

Fixing this should allow us to remove a lot of unnecessary scheduler overrides from IceLakeModel

Confirmed by both Agner + uops.info
llvm/lib/Target/X86/X86SchedIceLake.td
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s