https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125765
Jeffrey A. Law <law at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2026-07-06
Ever confirmed|0 |1
--- Comment #4 from Jeffrey A. Law <law at gcc dot gnu.org> ---
I think the floor is going to be 5 instructions given these constants.
I haven't looked deeply here, but noce_try_store_flag_constants seems like the
most natural place to try. The key is we don't want to select across the final
constant because that's going to potentially require synthesizing both
constants.
So instead of selecting across the final constant, select across the
difference. So 0/16 and 0/48 for the two testcases. Then add/sub that from
the base constant.