[VE] Change the way to lower select
authorKazushi (Jam) Marukawa <marukawa@nec.com>
Thu, 13 Oct 2022 14:11:48 +0000 (23:11 +0900)
committerKazushi (Jam) Marukawa <marukawa@nec.com>
Fri, 14 Oct 2022 23:49:36 +0000 (08:49 +0900)
commit0278c9ceb6c2475f1b1213fcc4ffaf667c6b7731
tree4ad109035d87c831406b67fba8334a26911c2ee9
parentfb063ea2ea4ebd1a8a7d78640721db260756994a
[VE] Change the way to lower select

Change to use VEISD::CMOV in combineSelect for better optimization.
Support VEISD::CMOV in combineTRUNCATE also to optimize trancate.
Merge functions to handle condition codes to VE.h.  And add basic
CMOV patterns to VEInstrInfo.td.  Update regression tests also.

Reviewed By: efocht

Differential Revision: https://reviews.llvm.org/D135878
llvm/lib/Target/VE/VE.h
llvm/lib/Target/VE/VEISelDAGToDAG.cpp
llvm/lib/Target/VE/VEISelLowering.cpp
llvm/lib/Target/VE/VEISelLowering.h
llvm/lib/Target/VE/VEInstrInfo.td
llvm/test/CodeGen/VE/Scalar/select.ll
llvm/test/CodeGen/VE/Scalar/select_cc.ll