Commit 58a816d6 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Fix STRICT_ALIGNMENT for whrlpool

parent d011253f
Loading
Loading
Loading
Loading
+23 −20
Original line number Diff line number Diff line
@@ -50,9 +50,10 @@ typedef unsigned long long u64;
#define ROUNDS  10

#define STRICT_ALIGNMENT
#if defined(__i386) || defined(__i386__) || \
#if !defined(PEDANTIC) && (defined(__i386) || defined(__i386__) || \
                           defined(__x86_64) || defined(__x86_64__) || \
    defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64)
                           defined(_M_IX86) || defined(_M_AMD64) || \
                           defined(_M_X64))
/*
 * Well, formally there're couple of other architectures, which permit
 * unaligned loads, specifically those not crossing cache lines, IA-64 and
@@ -82,6 +83,7 @@ typedef unsigned long long u64;
#endif

#undef ROTATE
#ifndef PEDANTIC
# if defined(_MSC_VER)
#  if defined(_WIN64)            /* applies to both IA-64 and AMD64 */
#   pragma intrinsic(_rotl64)
@@ -113,6 +115,7 @@ typedef unsigned long long u64;
#   endif
#  endif
# endif
#endif

#if defined(OPENSSL_SMALL_FOOTPRINT)
# if !defined(ROTATE)