https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121343
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Georg-Johann Lay <[email protected]>: https://gcc.gnu.org/g:83a74295038a8319dc547f8ca3f9ca26a0b85187 commit r17-637-g83a74295038a8319dc547f8ca3f9ca26a0b85187 Author: Georg-Johann Lay <[email protected]> Date: Thu May 21 10:55:24 2026 +0200 AVR: target/121343 - Overhaul CLZ, CTZ and FFS insns. CLZ, CTZ and FFS insns used explicit hard regs in order to model the register footprint of their libgcc asm implementations. This patch uses hard-reg constraints instead. It also uses code iterators in order to factor out commonalities. The respective insns don't rely on insn combine, and hence https://gcc.gnu.org/r17-438 in not a blocker. PR target/121343 gcc/ * config/avr/avr.md (ctz_ffs, cxz_ffs): New code iterators. (clzhi2, ctzhi2, ffshi2, clzsi2, ctzsi2, ffssi2, bswapsi2): New insn-and-split's from former expanders.
