On Thu, Feb 05, 2026 at 10:48:30AM +0000, Richard Earnshaw wrote:
> The Arm port has never had the compare elimination pass enabled by
> adding a definition of TARGET_FLAGS_REGNUM. But just adding this is
> insufficient because the target uses COND_EXEC and compare-elim is not
> yet set up to handle this.
>
> This seems to be quite simple, since we just need to recognize
> COND_EXEC in insns when scanning for uses of the condition code
> register.
>
> This is a partial mitigation for the code quality regression
> reported in PR target/123604.
>
> gcc/ChangeLog:
>
> PR target/123604
> * compare-elim.cc (find_flags_uses_in_insn): Handle COND_EXEC.
> * config/arm/arm.cc (TARGET_FLAGS_REGNUM): Define.
LGTM.
Jakub