[Hexagon] Improve code generation for 32x32-bit multiplication
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Tue, 30 May 2017 17:47:51 +0000 (17:47 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Tue, 30 May 2017 17:47:51 +0000 (17:47 +0000)
commitef58017b35b2fb5e20f08a247b861b046e5b3e75
tree9ef26c3cb5f3593ac9ea7024c87a0cdd9e1318a4
parent591312c5c1a133949285dde012d8cf373ab31b12
[Hexagon] Improve code generation for 32x32-bit multiplication

For multiplications of 64-bit values (giving 64-bit result), detect
cases where the arguments are sign-extended 32-bit values, on a per-
operand basis. This will allow few patterns to match a wider variety
of combinations in which extensions can occur.

llvm-svn: 304223
llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
llvm/lib/Target/Hexagon/HexagonPatterns.td
llvm/test/CodeGen/Hexagon/mul64-sext.ll [new file with mode: 0644]