On 9/7/26 8:43 AM, [email protected] wrote:
From: Kyrylo Tkachov <[email protected]>

noce_try_store_flag_constants and noce_try_cmove both compute the difference
between the two constant arms, reject it when it is not representable, and
truncate it to the mode.  The overflow test is the same subtle expression in
both places.

Move it into noce_representable_diff_p.  The callers keep their own failure
paths, which differ in whether a sequence has to be unwound.  No functional
change.

gcc/ChangeLog:

        * ifcvt.cc (noce_representable_diff_p): New function.
        (noce_try_store_flag_constants): Use it.
        (noce_try_cmove): Likewise.

Signed-off-by: Kyrylo Tkachov <[email protected]>
OK
jeff

Reply via email to