freebsd-dev/sys/crypto/aesni
John-Mark Gurney 038ffd3e43 make it so that from/to can be missaligned as it can happen (the geli
regression manages to do it)...  We use a packed struct to coerce
gcc/clang into producing unaligned loads (there is not packed pointer
attribute, otherwise this would be easier)...

use _storeu_ and _loadu_ when using the structure is overkill...

be better at using types properly...  Since we allocate our own key
schedule and make sure it's aligned, use the __m128i type in various
arguments to functions...

clang ignores __aligned on prototypes and gcc errors on them, leave them
in comments to document that these function arguments are require to be
aligned...

about all that changes is movdqa -> movdqu from reading the diff of the
disassembly output...

Noticed by:	symbolics at gmx.com
MFC after:	3 days
2013-11-06 19:14:49 +00:00
..
aesencdec.h make it so that from/to can be missaligned as it can happen (the geli 2013-11-06 19:14:49 +00:00
aeskeys_amd64.S Use the fact that the AES-NI instructions can be pipelined to improve 2013-09-03 18:31:23 +00:00
aeskeys_i386.S Fix a bug in the result of manual assembly. 2011-03-02 14:56:58 +00:00
aesni_wrap.c make it so that from/to can be missaligned as it can happen (the geli 2013-11-06 19:14:49 +00:00
aesni.c Use the fact that the AES-NI instructions can be pipelined to improve 2013-09-03 18:31:23 +00:00
aesni.h make it so that from/to can be missaligned as it can happen (the geli 2013-11-06 19:14:49 +00:00