chiark / gitweb /
utils/bits.h: Support compiler magic for unaligned loads and stores.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 26 May 2018 22:29:09 +0000 (23:29 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 26 May 2018 23:02:23 +0000 (00:02 +0100)
Introduce `RAWw' macros to access the raw memory, and implement `LOADwe'
and `STOREwe' in terms of these and `eTOHw'/`HTOew'.

These are remarkably tricky because GCC (I think mistakenly) thinks that
type-based aliasing is applicable when in fact the other type in
question is `unsigned char', which is known to be able to alias
anything.  Hit things with the `may_alias' hammer and hope they quieten
down.


No differences found