diff options
author | CodesInChaos <CodesInChaos@gmail.com> | 2013-02-01 19:44:36 +0400 |
---|---|---|
committer | CodesInChaos <CodesInChaos@gmail.com> | 2013-02-01 19:44:36 +0400 |
commit | fb714d2c830ec524bd3cbb5a45fe70fd90fe5c84 (patch) | |
tree | 477d30f1a1b38fef59a24470ae200ab6065285f0 /sse/blake2-config.h |
Release 2013-01-31
Diffstat (limited to 'sse/blake2-config.h')
-rw-r--r-- | sse/blake2-config.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sse/blake2-config.h b/sse/blake2-config.h new file mode 100644 index 0000000..70d61f1 --- /dev/null +++ b/sse/blake2-config.h @@ -0,0 +1,72 @@ +/* + BLAKE2 reference source code package - optimized C implementations + + Written in 2012 by Samuel Neves <sneves@dei.uc.pt> + + To the extent possible under law, the author(s) have dedicated all copyright + and related and neighboring rights to this software to the public domain + worldwide. This software is distributed without any warranty. + + You should have received a copy of the CC0 Public Domain Dedication along with + this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. +*/ +#pragma once +#ifndef __BLAKE2_CONFIG_H__ +#define __BLAKE2_CONFIG_H__ + +// These don't work everywhere +#if defined(__SSE2__) +#define HAVE_SSE2 +#endif + +#if defined(__SSSE3__) +#define HAVE_SSSE3 +#endif + +#if defined(__SSE4_1__) +#define HAVE_SSE41 +#endif + +#if defined(__AVX__) +#define HAVE_AVX +#endif + +#if defined(__XOP__) +#define HAVE_XOP +#endif + + +#ifdef HAVE_AVX2 +#ifndef HAVE_AVX +#define HAVE_AVX +#endif +#endif + +#ifdef HAVE_XOP +#ifndef HAVE_AVX +#define HAVE_AVX +#endif +#endif + +#ifdef HAVE_AVX +#ifndef HAVE_SSE41 +#define HAVE_SSE41 +#endif +#endif + +#ifdef HAVE_SSE41 +#ifndef HAVE_SSSE3 +#define HAVE_SSSE3 +#endif +#endif + +#ifdef HAVE_SSSE3 +#define HAVE_SSE2 +#endif + +#if !defined(HAVE_SSE2) +#error "This code requires at least SSE2." +#endif + +#endif + |