[X86] Folded MOVDDUPrm has the same sched behaviour as MOVSHDUPrm/MOVSLDUPrm on Haswe...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 7 Nov 2022 15:17:23 +0000 (15:17 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 7 Nov 2022 15:17:32 +0000 (15:17 +0000)
commit5c0cb75787b9a8a7fd488fb05b8350dc798aee9a
tree791fa047f2171678885fdb9f1794cb0d35e2e2ee
parent0f68ffe1e2b2d4b518aebe14709aff253658cfb2
[X86] Folded MOVDDUPrm has the same sched behaviour as MOVSHDUPrm/MOVSLDUPrm on Haswell/IceLake

There can be a difference for MOVDDUPrr but not the load folded broadcast that is purely on Port23

Fixes an old TODO (inherited from SkylakeServer which was fixed at c7662dc3e52801ec824d8473278fb976107d3e57)

Confirmed on Agner + uops.info
llvm/lib/Target/X86/X86SchedHaswell.td
llvm/lib/Target/X86/X86SchedIceLake.td
llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Haswell/resources-sse3.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse3.s