[AArch64][SVE] Add PTEST_ANY pseudo instruction
authorBradley Smith <bradley.smith@arm.com>
Fri, 11 Nov 2022 14:28:45 +0000 (14:28 +0000)
committerBradley Smith <bradley.smith@arm.com>
Tue, 15 Nov 2022 15:46:28 +0000 (15:46 +0000)
commit2fb3e3c46d57db51459160801f17f6f3b0f83300
treedcee81782942088f419f6e325eb592e1ed2e5117
parent8051c1db956615980770d50b2fb7aea2093372fa
[AArch64][SVE] Add PTEST_ANY pseudo instruction

This allow recognition of when a ptest was emitted as an any condition
and allows for extra optimization to be done later.

This addresses missing optimizations from D137716 and D137718, and
partially D137717.

Depends on D137716, D137717, D137718

Differential Revision: https://reviews.llvm.org/D137930
18 files changed:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
llvm/test/CodeGen/AArch64/sve-ptest-removal-pfirst-pnext.ll
llvm/test/CodeGen/AArch64/sve-setcc.ll