[all-commits] [llvm/llvm-project] 4df492: AMDGPU/SDAG: Custom SETCC (i.e. ballot) is always ...
Nicolai Hähnle via All-commits
all-commits at lists.llvm.org
Mon Apr 11 12:04:59 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4df4922da6cd9d4f58aa17bd3a54435d947570fd
https://github.com/llvm/llvm-project/commit/4df4922da6cd9d4f58aa17bd3a54435d947570fd
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2022-04-11 (Mon, 11 Apr 2022)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
Log Message:
-----------
AMDGPU/SDAG: Custom SETCC (i.e. ballot) is always uniform
The AMDGPUISD::SETCC node is like ISD::SETCC, but returns a lane mask
instead of a per-lane boolean. The lane mask is uniform.
This improves instruction selection for code patterns like
ctpop(ballot(x)), which can now use an S_BCNT1_* instruction instead
of V_BCNT_*.
GlobalISel already selects scalar instructions (an earlier commit
added a test case)..
Differential Revision: https://reviews.llvm.org/D123432
More information about the All-commits
mailing list