Avoid compiler warning about alignment for MSVC2013 (x64)

Only align if we actually *need to* (due to SSE/XOP usage)

The code will currently not compile as it is now with UseSSE or
UseXOP defined, (so the ALIGN macro could just
be totally removed). In order to keep the diff to upstream as small
as possible, we keep the ALIGN macro definition.

Task-number: QTBUG-34362
Change-Id: I6cf420205896e3a476cdcfbf3308a07e0ae0c84e
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Jan Arve Saether 2013-11-13 08:49:44 +01:00 committed by The Qt Project
parent f75c5c7dc6
commit 191f96cb88
2 changed files with 12 additions and 4 deletions

View File

@ -19,12 +19,16 @@ http://creativecommons.org/publicdomain/zero/1.0/
typedef unsigned char UINT8;
typedef unsigned long long int UINT64;
#if defined(UseSSE) || defined(UseXOP)
#if defined(__GNUC__)
#define ALIGN __attribute__ ((aligned(32)))
#elif defined(_MSC_VER)
#define ALIGN __declspec(align(32))
#else
#define ALIGN
#endif
#endif
#ifndef ALIGN
# define ALIGN
#endif
#if defined(UseSSE)

View File

@ -19,12 +19,16 @@ http://creativecommons.org/publicdomain/zero/1.0/
#define KeccakMaximumRate 1536
#define KeccakMaximumRateInBytes (KeccakMaximumRate/8)
#if defined(UseSSE) || defined(UseXOP)
#if defined(__GNUC__)
#define ALIGN __attribute__ ((aligned(32)))
#elif defined(_MSC_VER)
#define ALIGN __declspec(align(32))
#else
#define ALIGN
#endif
#endif
#ifndef ALIGN
# define ALIGN
#endif
ALIGN typedef struct spongeStateStruct {