-
- Downloads
aarch64: Improve atomic-op lse generation
Fix constraints; avoid unnecessary split. Drop the use of the atomic_op iterator in favor of the ATOMIC_LDOP iterator; this is simplier and more logical for ldclr aka bic. * config/aarch64/aarch64.c (aarch64_emit_bic): Remove. (aarch64_atomic_ldop_supported_p): Remove. (aarch64_gen_atomic_ldop): Remove. * config/aarch64/atomic.md (atomic_<atomic_optab><ALLI>): Fully expand LSE operations here. (atomic_fetch_<atomic_optab><ALLI>): Likewise. (atomic_<atomic_optab>_fetch<ALLI>): Likewise. (aarch64_atomic_<ATOMIC_LDOP><ALLI>_lse): Drop atomic_op iterator and use ATOMIC_LDOP instead; use register_operand for the input; drop the split and emit insns directly. (aarch64_atomic_fetch_<ATOMIC_LDOP><ALLI>_lse): Likewise. (aarch64_atomic_<atomic_op>_fetch<ALLI>_lse): Remove. (@aarch64_atomic_load<ATOMIC_LDOP><ALLI>): Remove. From-SVN: r265660
Showing
- gcc/ChangeLog 14 additions, 0 deletionsgcc/ChangeLog
- gcc/config/aarch64/aarch64-protos.h 0 additions, 2 deletionsgcc/config/aarch64/aarch64-protos.h
- gcc/config/aarch64/aarch64.c 0 additions, 176 deletionsgcc/config/aarch64/aarch64.c
- gcc/config/aarch64/atomics.md 104 additions, 93 deletionsgcc/config/aarch64/atomics.md
- gcc/config/aarch64/iterators.md 4 additions, 1 deletiongcc/config/aarch64/iterators.md
Loading
Please register or sign in to comment