[all-commits] [llvm/llvm-project] 064b2a: [DAGCombiner][AArch64] Enhance to fold CSNEG into ...
Allen via All-commits
all-commits at lists.llvm.org
Tue Feb 15 17:40:26 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 064b2a6dc6c947ebf9363a3ec917b84719e8941e
https://github.com/llvm/llvm-project/commit/064b2a6dc6c947ebf9363a3ec917b84719e8941e
Author: zhongyunde <zhongyunde at huawei.com>
Date: 2022-02-16 (Wed, 16 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-isel-csinc-type.ll
M llvm/test/CodeGen/AArch64/aarch64-isel-csinc.ll
Log Message:
-----------
[DAGCombiner][AArch64] Enhance to fold CSNEG into CSINC instruction
Perform the scalar expression combine in the form of:
CSNEG(1, c, cc) + b => cc ? b+1 : b-c => CSINC(b-c, b, !cc)
CSNEG(c, -1, cc) + b => cc ? b+c : b+1 => CSINC(b+c, b, cc)
Fix https://github.com/llvm/llvm-project/issues/53071
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D119105
More information about the All-commits
mailing list