[AArch64] Rearrange mul(dup(sext/zext)) to mul(sext/zext(dup))
authorNicholas Guy <nicholas.guy@arm.com>
Wed, 2 Dec 2020 15:15:23 +0000 (15:15 +0000)
committerNicholas Guy <nicholas.guy@arm.com>
Wed, 6 Jan 2021 16:02:16 +0000 (16:02 +0000)
commit350247a93c07906300b79955ff882004a92ae368
tree0107ce0eaf9a1c41800c20189947f27a245a0537
parent500864f928c272e8ebfd6493cb749083124bfd8b
[AArch64] Rearrange mul(dup(sext/zext)) to mul(sext/zext(dup))

Performing this rearrangement allows for existing patterns
to match cases where the vector may be built after an extend,
instead of before.

Differential Revision: https://reviews.llvm.org/D91255
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll [new file with mode: 0644]