This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
AARCH64 vs SLOW_BYTE_ACCESS
- From: Andrew Pinski <pinskia at gmail dot com>
- To: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Mon, 10 Jul 2017 21:16:40 -0700
- Subject: AARCH64 vs SLOW_BYTE_ACCESS
- Authentication-results: sourceware.org; auth=none
I was looking into some bitfield code for aarch64 and was wondering
why SLOW_BYTE_ACCESS is set to 0. I can't seem to figure out why
though.
The header says:
Although there's no difference in instruction count or cycles,
in AArch64 we don't want to expand to a sub-word to a 64-bit access
if we don't have to, for power-saving reasons. */
But that does not make sense because with SLOW_BYTE_ACCESS to 0, GCC
expands a sub-word access to a 64bit access.
When I set to SLOW_BYTE_ACCESS to 1, I get between 38% to 208% speed
up for accesses of a bitfields inside a loop on ThunderX CN88xx.
Should we change SLOW_BYTE_ACCESS (or maybe better yet get rid of it)?
Thanks,
Andrew Pinski