https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118623

--- Comment #16 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #14)
> So, if (reg:CCC flags) being non-zero in RTL means nc and (reg:CCC flags)
> being zero in RTL means c, shouldn't *bt<mode> be using (compare:CCC
> (zero_extract ...) (const_int 1)) rather than 0?
IMO, yes.

When the bit is 1, there're no borrow in the (compare:CCC (zero_extract ...)
(const_int 1)), so Carry flag is set. Otherwise the carry flag is cleared.

Reply via email to