diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2018-10-31 09:47:21 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2018-10-31 02:47:21 -0700 |
commit | 8f5603d363a4e0453d2c38c7103aeb0bdca85c4e (patch) | |
tree | cb57a520915c778e37eee388922ed32ccd964711 /libcpp | |
parent | 260eedb901c1b3df69598a724e23e33674ab654b (diff) | |
download | gcc-8f5603d363a4e0453d2c38c7103aeb0bdca85c4e.zip gcc-8f5603d363a4e0453d2c38c7103aeb0bdca85c4e.tar.gz gcc-8f5603d363a4e0453d2c38c7103aeb0bdca85c4e.tar.bz2 |
aarch64: Improve swp generation
Allow zero as an input; fix constraints; avoid unnecessary split.
* 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.
From-SVN: r265659
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions