[X86][Atom] Fix vector integer multiplication resource/throughputs
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 15 May 2021 13:25:48 +0000 (14:25 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 15 May 2021 13:25:48 +0000 (14:25 +0100)
commitf9b1208681f650eed536648e26b0f9266134b628
tree303237e3d57545e8cac9debbe1eafd2d28f8f788
parentf0660a977e6822ae68e4c88641d1909b555f0e05
[X86][Atom] Fix vector integer multiplication resource/throughputs

Match whats documented in the Intel AOM (and Agner/instlatx64 agree) - vector integer multiplies are pipelined - all Port0, throughput = 2 @ 128bits, 1 @ 64bits.

Noticed while checking reduction costs - now that we can use in-order models in llvm-mca, the atom model is the "worst case scenario" we have in x86.
llvm/lib/Target/X86/X86ScheduleAtom.td
llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s
llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Atom/resources-ssse3.s