[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV
authorSam Tebbs <samuel.tebbs@arm.com>
Wed, 23 Sep 2020 10:43:27 +0000 (11:43 +0100)
committerSam Tebbs <samuel.tebbs@arm.com>
Mon, 5 Oct 2020 14:51:28 +0000 (15:51 +0100)
commit2573cf3c3d42c943cb91b6e85b803f7671260185
tree1d3bba2bf14ba59fbbbf86417be3c53bf6b6bfda
parent346b9d17720a0ccd920cd02b81811a4d2ddc67d6
[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV

    This folds a select_cc or select(set_cc) of a max or min vector reduction with a scalar value into a VMAXV or VMINV.

    Differential Revision: https://reviews.llvm.org/D87836
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMISelLowering.h
llvm/lib/Target/ARM/ARMInstrMVE.td
llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll [new file with mode: 0644]