[ARM] Prevent parallel macs for unsigned values
authorSam Parker <sam.parker@arm.com>
Mon, 26 Nov 2018 10:22:55 +0000 (10:22 +0000)
committerSam Parker <sam.parker@arm.com>
Mon, 26 Nov 2018 10:22:55 +0000 (10:22 +0000)
commit5338f7aae42f224b7e0d4b18ff61ed3b32e27074
treee3792ec764c9c857ada82ab7f92d0c3b754e40e8
parent8cd9d1b5cebe8a694089ac983038966a2fe6a516
[ARM] Prevent parallel macs for unsigned values

Both zext and sext are currently allowed during the search for narrow
sequences and sexts operands are later added to the mac candidates.
But operands of muls are also added, without checking whether they're
sext or zext, which means we can generate a signed smlad when we
shouldn't.

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

llvm-svn: 347542
llvm/lib/Target/ARM/ARMParallelDSP.cpp
llvm/test/CodeGen/ARM/smlad0.ll
llvm/test/CodeGen/ARM/smlald0.ll
llvm/test/CodeGen/ARM/smlald2.ll