[TTI][X86] Recognise PMULUDQ costs for vXi64 multiplies
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 13 Jun 2023 19:06:21 +0000 (20:06 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 14 Jun 2023 09:34:02 +0000 (10:34 +0100)
commite64f9140c583de1619c1f032abc8585b0cdc2c89
treea323b8e1715b6762fa4471c334c5e4902fe14b9b
parent8404b23acd70b8db1411b98a04b4ea62eaeb48dd
[TTI][X86] Recognise PMULUDQ costs for vXi64 multiplies

Addresses part of Issue #62969 - if the upper 32-bits of the vXi64 elements are known to be zero, then a multiply simplifies to a single (fast) PMULUDQ instruction

We still have the problem that minRequiredElementSize can't determine that the upper bits are zero for the test case from Issue #62969 - I'll take a look at that next.
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/Analysis/CostModel/X86/mul64.ll