aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Lawrence <alan.lawrence@arm.com>2014-05-02 15:11:04 +0000
committerAlan Lawrence <alalaw01@gcc.gnu.org>2014-05-02 15:11:04 +0000
commit0696116a28a8507e59700b78a827217f1db6a43f (patch)
tree08a9a7d0ba387e43f3343649b328c0c65b089598 /gcc
parentfb90f9f3aeccc0cb3178e3179c8ef08ec5941cdd (diff)
downloadgcc-0696116a28a8507e59700b78a827217f1db6a43f.zip
gcc-0696116a28a8507e59700b78a827217f1db6a43f.tar.gz
gcc-0696116a28a8507e59700b78a827217f1db6a43f.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 817fb26..69342eb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
+ expression.
+
2014-05-02 Marek Polacek <polacek@redhat.com>
* doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 94e05bb..8655f04 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;