diff options
author | lloyd <[email protected]> | 2010-08-09 19:56:27 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-08-09 19:56:27 +0000 |
commit | 8b8b3f783d6106485e979a73b95ece07365703a0 (patch) | |
tree | 993b5be359c439faed80ea58784c7844ccd9ba17 /src/block/aes_ssse3 | |
parent | b741408407984fe65e038bc3c8ea92763e02aabc (diff) |
Only enable aes_ssse3 when compiling with GCC or Clang. For some dumbass
reasons, Intel C++ rejects
const __m128i foo = _mm_set_epi64x(...)
though it will accept if you use one of the _mm_set1 variants.
And Visual C++ doesn't know about _mm_set_epi64x() in 32-bit mode for
similarly dumb reasons - it works fine compiling for 64 bit but for
whatever reason they don't offer this function when compiling as 32
bit. Unfortunately there isn't a good way to specify it's OK with a
particular compiler with one arch but not another, so just disable it
globally for the time being. The workaround for VC++ is probably to
use _mm_set_epi32 and break up the input values into 32 bit chunks.
ICC is a lost cause I fear.
Diffstat (limited to 'src/block/aes_ssse3')
-rw-r--r-- | src/block/aes_ssse3/info.txt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/block/aes_ssse3/info.txt b/src/block/aes_ssse3/info.txt index 40e7e42f6..fb6eb83c6 100644 --- a/src/block/aes_ssse3/info.txt +++ b/src/block/aes_ssse3/info.txt @@ -7,3 +7,10 @@ need_isa ssse3 <requires> simd_engine </requires> + +# Intel C++ can't deal with syntax for defining constants :( +# Visual C++ works in 64-bit mode but not 32-bit +<cc> +gcc +clang +</cc> |