Home GnuPG

bufhelp: use unaligned dword and qword types for endianess helpers
e7b941c3de9cUnpublished

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

bufhelp: use unaligned dword and qword types for endianess helpers

* cipher/bufhelp.h (BUFHELP_UNALIGNED_ACCESS): New, defined
if attributes 'packed', 'aligned' and 'may_alias' are supported.
(BUFHELP_FAST_UNALIGNED_ACCESS): Define if have
BUFHELP_UNALIGNED_ACCESS.

Now that compiler is properly told that reads from these types
may do not follow strict-aliasing and may be unaligned, we
enable use of these for all architectures and compiler will
emit more optimized, yet correct, code (for example, use
special unaligned read/write instructions instead of accessing
byte-by-byte).

  • Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>

Details

Provenance
jukiviliAuthored on Jan 28 2017, 10:26 AM
Parents
rC92b4a29d2453: rijndael-aesni: fix u128_t strict-aliasing rule breaking
Branches
Unknown
Tags
Unknown

Event Timeline

Jussi Kivilinna <jussi.kivilinna@iki.fi> committed rCe7b941c3de9c: bufhelp: use unaligned dword and qword types for endianess helpers (authored by Jussi Kivilinna <jussi.kivilinna@iki.fi>).Jan 28 2017, 10:26 AM