The original patch failed to handle the case where the loopback condition compared against a constant exceeding 64 bit unsigned range - which caused a buildbot failure. This PR fixes this and relands the original PR #95002. The current loop idiom code for recognising and inserting a CTLZ intrinsic does not support loops where the loopback control is based on an unsigned less-than condition. This patch adds support for recognising these loops and inserting a CTLZ intrinsic. Fixes the missed optimization cases in #51064. --------- Co-authored-by: David Sherwood <david.sherwood@arm.com>
116 KiB
116 KiB