[AArch64][SVE] Avoid AND operation if both side are splat of i1 or PTRUE
authorDinar Temirbulatov <dinar.temirbulatov@arm.com>
Wed, 11 Jan 2023 14:06:01 +0000 (14:06 +0000)
committerDinar Temirbulatov <dinar.temirbulatov@arm.com>
Wed, 11 Jan 2023 14:06:01 +0000 (14:06 +0000)
commita6f1134b095a6ac3694b0dc40c153dc3ce35e113
treed9bdb9e8e5a2344a14d8cdc03ee9721b8efbe49a
parent3f7dc5caffc79e180520692c932dd31e9dfec5af
[AArch64][SVE] Avoid AND operation if both side are splat of i1 or PTRUE

If both sides of AND operations are i1 splat_vectors or PTRUE node then we can
produce just i1 splat_vector as the result.

Differential Revision: https://reviews.llvm.org/D141043
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
llvm/test/CodeGen/AArch64/sve-splat-one-and-ptrue.ll [new file with mode: 0644]