1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- 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__
- #if defined(__SSE2__)
- #define HAVE_SSE2
- #endif
- #if defined(__SSSE3__)
- #define HAVE_SSSE3
- #endif
- #if defined(__SSE4_1__)
- #define HAVE_SSE4_1
- #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_SSE4_1
- #define HAVE_SSE4_1
- #endif
- #endif
- #ifdef HAVE_SSE4_1
- #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
|