On Wed, Jun 10, 2026 at 07:38:13PM +0530, [email protected] wrote:
> static const atomic_op_lowering atomic_op_table[] = {
> - { IFN_ATOMIC_FETCH_MINMAX, lower_minmax_call },
> + {IFN_ATOMIC_FETCH_MINMAX, can_expand_atomic_minmax, lower_minmax_call},
I think the normal coding style is to have spaces after { and before }.
> + /* For signed types, explicitly sign-extend the result. */
> + if (is_signed)
> + {
> + rtx extended = gen_reg_rtx (word_mode);
> + emit_insn (
> + gen_rtx_SET (extended, gen_rtx_SIGN_EXTEND (word_mode, result)));
This looks wrong. You shouldn't assume sign extension is
(set (reg:mode) (sign_extend:mode (reg)))
Plus the formatting is bad, ( shouldn't come at the end of line if possible.
Why doesn't convert_move DTRT?
Jakub