[all-commits] [llvm/llvm-project] ff40fb: [PowerPC] Try to fold sqrt/sdiv test results with ...
Esme via All-commits
all-commits at lists.llvm.org
Wed Jan 13 18:16:48 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ff40fb07ad6309131c2448ca00572a078c7a2d59
https://github.com/llvm/llvm-project/commit/ff40fb07ad6309131c2448ca00572a078c7a2d59
Author: Esme-Yi <esme.yi at ibm.com>
Date: 2021-01-14 (Thu, 14 Jan 2021)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
A llvm/test/CodeGen/PowerPC/fold_swtest_br.ll
Log Message:
-----------
[PowerPC] Try to fold sqrt/sdiv test results with the branch.
Summary: The patch tries to fold sqrt/sdiv test node, i.g FTSQRT, XVTDIVDP, and the branch, i.e br_cc if they meet these patterns:
(br_cc seteq, (truncateToi1 SWTestOp), 0) -> (BCC PRED_NU, SWTestOp)
(br_cc seteq, (and SWTestOp, 2), 0) -> (BCC PRED_NE, SWTestOp)
(br_cc seteq, (and SWTestOp, 4), 0) -> (BCC PRED_LE, SWTestOp)
(br_cc seteq, (and SWTestOp, 8), 0) -> (BCC PRED_GE, SWTestOp)
(br_cc setne, (truncateToi1 SWTestOp), 0) -> (BCC PRED_UN, SWTestOp)
(br_cc setne, (and SWTestOp, 2), 0) -> (BCC PRED_EQ, SWTestOp)
(br_cc setne, (and SWTestOp, 4), 0) -> (BCC PRED_GT, SWTestOp)
(br_cc setne, (and SWTestOp, 8), 0) -> (BCC PRED_LT, SWTestOp)
Reviewed By: steven.zhang
Differential Revision: https://reviews.llvm.org/D94054
More information about the All-commits
mailing list