On Tue, Oct 02, 2018 at 11:19:07AM -0500, Richard Henderson wrote: > Allow zero as an input; fix constraints; avoid unnecessary split.
OK. James > > * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): Remove. > (aarch64_gen_atomic_ldop): Don't call it. > * config/aarch64/atomics.md (atomic_exchange<ALLI>): > Use aarch64_reg_or_zero. > (aarch64_atomic_exchange<ALLI>): Likewise. > (aarch64_atomic_exchange<ALLI>_lse): Remove split; remove & from > operand 0; use aarch64_reg_or_zero for input; merge ... > (@aarch64_atomic_swp<ALLI>): ... this and remove. > ---