aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/Shell/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2026-02-09 21:48:14 -0800
committerGitHub <noreply@github.com>2026-02-09 21:48:14 -0800
commitf33ea53451f01bd82cbe7bc7f795f5b4ba731f2b (patch)
tree4200be984b08a680e795b7d1aa23cae1e51a3db0 /lldb/test/Shell/ScriptInterpreter/Python
parenta1acc4ab9fa7bef5684d126ab0c29b035402d664 (diff)
downloadllvm-f33ea53451f01bd82cbe7bc7f795f5b4ba731f2b.zip
llvm-f33ea53451f01bd82cbe7bc7f795f5b4ba731f2b.tar.gz
llvm-f33ea53451f01bd82cbe7bc7f795f5b4ba731f2b.tar.bz2
[RISCV] Remove redundant czero in multi-word comparisons (#180485)
When comparing multi-word integers with Zicond, we generate: (or (czero_eqz (lo1 < lo2), (hi1 == hi2)), (czero_nez (hi1 < hi2), (hi1 == hi2))) The czero_nez is redundant because when hi1 == hi2 is true, hi1 < hi2 is already 0. This patch adds a DAG combine to recognize: czero_nez (setcc X, Y, CC), (setcc X, Y, eq) -> (setcc X, Y, CC) when CC is a strict inequality (lt, gt, ult, ugt). This saves one instruction in 128-bit comparisons on RV64 with Zicond. Note the czero_nez becomes a czero.eqz in the final assembly because the seteq is replaced by an xor that produces 0 when the values are equal. Part of #179584 Assisted-by: claude
Diffstat (limited to 'lldb/test/Shell/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions