On Fri, Nov 17, 2017 at 03:21:31PM +0000, Wilco Dijkstra wrote: > Contrary to all documentation, SLOW_BYTE_ACCESS simply means accessing > bitfields by their declared type, which results in better codegeneration on > practically > any target. > > I'm thinking we should completely remove all trace of SLOW_BYTE_ACCESS > from GCC as it's confusing and useless.
> -/* Define this macro to be non-zero if accessing less than a word of > - memory is no faster than accessing a word of memory, i.e., if such > - accesses require more than one instruction or if there is no > - difference in cost. > - 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. */ > -#define SLOW_BYTE_ACCESS 0 > +/* Contrary to all documentation, this enables wide bitfield accesses, > + which results in better code when accessing multiple bitfields. */ > +#define SLOW_BYTE_ACCESS 1 Why don't we fix the documentation and the name of this macro so we don't need the comment? I'd rather us fix the macro to behave in a sensible way than record the opposite of what we mean just because the documentation is flawed. Thanks, James