Passing unaligned pointers to _mm_{load|store}u_*() is fine

This commit is contained in:
Frank Denis
2015-11-01 07:26:32 +01:00
parent 7dfed3913e
commit 65ccbaa9b7
@@ -18,8 +18,8 @@
# error BLAKE2_USE_SSSE2 must be defined in order to use this file
#endif
#define LOADU(p) _mm_loadu_si128( (const __m128i *)(p) )
#define STOREU(p,r) _mm_storeu_si128((__m128i *)(p), r)
#define LOADU(p) _mm_loadu_si128( (const __m128i *)(const void *)(p) )
#define STOREU(p,r) _mm_storeu_si128((__m128i *)(void *)(p), r)
#define TOF(reg) _mm_castsi128_ps((reg))
#define TOI(reg) _mm_castps_si128((reg))