OSDN Git Service

[AArch64] Handle any extend whilst lowering mull
authorDavid Green <david.green@arm.com>
Wed, 6 Jan 2021 10:08:43 +0000 (10:08 +0000)
committerDavid Green <david.green@arm.com>
Wed, 6 Jan 2021 10:08:43 +0000 (10:08 +0000)
commit78d8a821e23e42d13dcbb3467747e480fb889b8a
tree5ca0d02d2d1802141cf9e7dab686f1458aeab10f
parenta7e3339f3b0eb71e43d44e6f59cc8db6a7b110bf
[AArch64] Handle any extend whilst lowering mull

Demanded bits may turn a sext or zext into an anyext if the top bits are
not needed. This currently prevents the lowering to instructions like
mull, addl and addw. This patch fixes the mull generation by keeping it
simple and treating them like zextends.

Differential Revision: https://reviews.llvm.org/D93832
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/aarch64-smull.ll
llvm/test/CodeGen/AArch64/lowerMUL-newload.ll