Transform ctpop(Pow2) -> icmp ne Pow2, 0
authorNoah Goldstein <goldstein.w.n@gmail.com>
Sun, 22 Jan 2023 06:00:14 +0000 (22:00 -0800)
committerNoah Goldstein <goldstein.w.n@gmail.com>
Sun, 22 Jan 2023 07:03:22 +0000 (23:03 -0800)
commitc9755d80a689658d0070fb9bcbd7dd446e6ab784
tree113a8c595ebacb96221b4378a5a6a8486f7503a0
parent6082420945c887cf413194a393550b8303ed5ec3
Transform ctpop(Pow2) -> icmp ne Pow2, 0

This makes folding to 0/1 later on easier and regardless `icmp ne` is
'probably' faster on most targets (especially for vectors).

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D142253
llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/test/Transforms/InstCombine/ctpop-pow2.ll