[AArch64][SVE][VLS] Move extends into arguments of comparisons
authorDavid Truby <david.truby@arm.com>
Tue, 16 Nov 2021 11:33:12 +0000 (11:33 +0000)
committerDavid Truby <david.truby@arm.com>
Wed, 19 Jan 2022 14:11:45 +0000 (14:11 +0000)
commitdb04d3e30b3878ae39ef64eb0b0a1538644c7f6a
tree26e507ec5749e633ca64e0228b26f3119fda969e
parent6df82597af78cc3548bc3f03b6bc0f92541acfc2
[AArch64][SVE][VLS] Move extends into arguments of comparisons

When a comparison is extended and it would be free to extend the
arguments to that comparison, we can propagate the extend into those arguments.
This prevents extra instructions being generated to extend the result of the
comparison, which is not free to extend.

Differential Revision: https://reviews.llvm.org/D116812
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll