[X86][SSE] Lower suitably sign-extended mul vXi64 using PMULDQ
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 12 Dec 2016 10:49:15 +0000 (10:49 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 12 Dec 2016 10:49:15 +0000 (10:49 +0000)
commit369cd349b968420c172c0c1344586e18662eac4a
tree4b9c3ffe73c70bd94fce0fbe2d7d84411a6b5427
parent040a36c17652cf043496272c226ecfbe735e954f
[X86][SSE] Lower suitably sign-extended mul vXi64 using PMULDQ

PMULDQ returns the 64-bit result of the signed multiplication of the lower 32-bits of vXi64 vector inputs, we can lower with this if the sign bits stretch that far.

Differential Revision: https://reviews.llvm.org/D27657

llvm-svn: 289426
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/masked_gather_scatter.ll
llvm/test/CodeGen/X86/pmul.ll
llvm/test/CodeGen/X86/vector-trunc-math.ll