[all-commits] [llvm/llvm-project] 0cd806: [AArch64] Genereate CCMP from And CSel
David Green via All-commits
all-commits at lists.llvm.org
Wed Feb 2 05:48:29 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0cd8063960259903b5bbb0accc3259accdb1bd6c
https://github.com/llvm/llvm-project/commit/0cd8063960259903b5bbb0accc3259accdb1bd6c
Author: David Green <david.green at arm.com>
Date: 2022-02-02 (Wed, 02 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/andcompare.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/select-with-and-or.ll
M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/AArch64/vec_umulo.ll
Log Message:
-----------
[AArch64] Genereate CCMP from And CSel
LLVM has a couple of ways of producing ccmp - either from chains in isel
or from a later ifcvt style pass. This adds a simple DAG combine to
capture more cases, converting and(csel(0, 1, cc0), csel(0, 1, cc1))
into a csel(ccmp(.., cc0)), depending on cc1 (a SUBS in this case).
Differential Revision: https://reviews.llvm.org/D118327
More information about the All-commits
mailing list