touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #80743
[Bug 1449117] Re: [Ubuntu 14.04] gcc 4.8: Improve vector performance by removing unnecessary swap optimizations
*** This bug is a duplicate of bug 1311866 ***
https://bugs.launchpad.net/bugs/1311866
It appears that this bug is addressed by the SRU of gcc-4.8
4.8.4-2ubuntu1~14.04, currently in trusty-proposed awaiting completion
of verification, which updates to revision 222448 on the gcc-4.8 branch.
Marking this bug as a duplicate.
** This bug has been marked a duplicate of bug 1311866
update binutils and GCC for trusty
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gcc-4.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1449117
Title:
[Ubuntu 14.04] gcc 4.8: Improve vector performance by removing
unnecessary swap optimizations
Status in gcc-4.8 package in Ubuntu:
New
Bug description:
For vector memory operations, GCC generates less efficient code for
little endian POWER than for big endian POWER. This is because the
VSX vector loads and stores (lxvd2x, stxvd2x, lxvw4x, stxvw4x) assume
a vector register element ordering where the lowest-numbered element
resides in the most significant portion of the register. That is,
they operate according to a big-endian element ordering no matter what
endian mode the machine is running in. To generate correct code
regardless of this, GCC will generate a lxvd2x/xxswapd pair of
instructions for each load, and an xxswapd/stxvd2x pair of
instructions for each store. The extra xxswapd instructions force the
vector elements into the proper lanes, but at a cost in performance.
In August 2014, I added a pass to GCC that removes the extra swap
operations when they are not necessary for correctness. This greatly
improves vector performance for ppc64el. This optimization can be
done for computations where all of the vector operations are "lane-
insenstive"; that is, they don't care which lanes the computations are
performed in, so long as values are stored back to memory in the
correct order.
To take advantage of this improved performance, I've backported the
swap optimization pass to GCC 4.8 in revision r221713. I would like
to see this included in the next service release of 14.04 LTS. I
believe this is the only Ubuntu release using GCC 4.8. A separate
feature request has been opened for GCC 4.9.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1449117/+subscriptions