From 0696116a28a8507e59700b78a827217f1db6a43f Mon Sep 17 00:00:00 2001 From: Alan Lawrence Date: Fri, 2 May 2014 15:11:04 +0000 Subject: [PATCH] One-line tidy of bit-twiddle expression in aarch64.c * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip expression. From-SVN: r210005 --- gcc/ChangeLog | 5 +++++ gcc/config/aarch64/aarch64.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 817fb2629f41..69342ebbb91d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-05-02 Alan Lawrence + + * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip + expression. + 2014-05-02 Marek Polacek * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 94e05bb5e3ff..8655f049ba46 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -8180,8 +8180,9 @@ aarch64_expand_vec_perm_const_1 (struct expand_vec_perm_d *d) unsigned i, nelt = d->nelt; rtx x; + gcc_assert (nelt == (nelt & -nelt)); for (i = 0; i < nelt; ++i) - d->perm[i] = (d->perm[i] + nelt) & (2 * nelt - 1); + d->perm[i] ^= nelt; /* Keep the same index, but in the other vector. */ x = d->op0; d->op0 = d->op1; -- 2.47.3