diff options
author | Richard Ball <richard.ball@arm.com> | 2022-07-18 11:30:04 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2022-07-18 11:30:04 +0100 |
commit | 06039e71f02e478280ed63a63cbf5e76f3897513 (patch) | |
tree | 97b829e799338f3a1e254356b0e2c83124d7dd5d | |
parent | 2907bfc3412dd8aef6c6acc17f2152a4e0ac4979 (diff) | |
download | gcc-06039e71f02e478280ed63a63cbf5e76f3897513.zip gcc-06039e71f02e478280ed63a63cbf5e76f3897513.tar.gz gcc-06039e71f02e478280ed63a63cbf5e76f3897513.tar.bz2 |
Replace manual swapping idiom with std::swap in aarch64.cc
gcc/config/aarch64/aarch64.cc has a few manual swapping idioms of the form:
x = in0, in0 = in1, in1 = x;
The preferred way is using the standard:
std::swap (in0, in1);
We should just fix these to use std::swap.
This will also allow us to eliminate the x temporary rtx.
gcc/ChangeLog:
* config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
(aarch64_evpc_uzp): Likewise.
(aarch64_evpc_zip): Likewise.
-rw-r--r-- | gcc/config/aarch64/aarch64.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 1a514c1..4b486ae 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -23498,7 +23498,7 @@ aarch64_evpc_trn (struct expand_vec_perm_d *d) { HOST_WIDE_INT odd; poly_uint64 nelt = d->perm.length (); - rtx out, in0, in1, x; + rtx out, in0, in1; machine_mode vmode = d->vmode; if (GET_MODE_UNIT_SIZE (vmode) > 8) @@ -23522,7 +23522,7 @@ aarch64_evpc_trn (struct expand_vec_perm_d *d) at the head of aarch64-sve.md for details. */ if (BYTES_BIG_ENDIAN && d->vec_flags == VEC_ADVSIMD) { - x = in0, in0 = in1, in1 = x; + std::swap (in0, in1); odd = !odd; } out = d->target; @@ -23592,7 +23592,7 @@ static bool aarch64_evpc_uzp (struct expand_vec_perm_d *d) { HOST_WIDE_INT odd; - rtx out, in0, in1, x; + rtx out, in0, in1; machine_mode vmode = d->vmode; if (GET_MODE_UNIT_SIZE (vmode) > 8) @@ -23615,7 +23615,7 @@ aarch64_evpc_uzp (struct expand_vec_perm_d *d) at the head of aarch64-sve.md for details. */ if (BYTES_BIG_ENDIAN && d->vec_flags == VEC_ADVSIMD) { - x = in0, in0 = in1, in1 = x; + std::swap (in0, in1); odd = !odd; } out = d->target; @@ -23631,7 +23631,7 @@ aarch64_evpc_zip (struct expand_vec_perm_d *d) { unsigned int high; poly_uint64 nelt = d->perm.length (); - rtx out, in0, in1, x; + rtx out, in0, in1; machine_mode vmode = d->vmode; if (GET_MODE_UNIT_SIZE (vmode) > 8) @@ -23656,7 +23656,7 @@ aarch64_evpc_zip (struct expand_vec_perm_d *d) at the head of aarch64-sve.md for details. */ if (BYTES_BIG_ENDIAN && d->vec_flags == VEC_ADVSIMD) { - x = in0, in0 = in1, in1 = x; + std::swap (in0, in1); high = !high; } out = d->target; |