[llvm] [X86] Remove redundant TEST after shifts when count is non-zero (PR #169069)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 21 11:03:59 PST 2025


topperc wrote:

What cpu are the llvm-mca results from?

Shift by CL on Intel CPUs has a separate flag update uop. This uop has a dependency on the previous instruction that writes flags in order to preserve the flags for the shift by 0 case. It's split into 2 uops to avoid the previous flags being a false dependency for calculating the register result in the common case that the consumer doesn't want the flags. No idea if llvm-mca understands this.

https://github.com/llvm/llvm-project/pull/169069


More information about the llvm-commits mailing list