Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Modules/_blake2/impl/blake2-config.h
12 views
1
/*
2
BLAKE2 reference source code package - optimized C implementations
3
4
Written in 2012 by Samuel Neves <[email protected]>
5
6
To the extent possible under law, the author(s) have dedicated all copyright
7
and related and neighboring rights to this software to the public domain
8
worldwide. This software is distributed without any warranty.
9
10
You should have received a copy of the CC0 Public Domain Dedication along with
11
this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
12
*/
13
#pragma once
14
#ifndef __BLAKE2_CONFIG_H__
15
#define __BLAKE2_CONFIG_H__
16
17
#if defined(__SSE2__)
18
#define HAVE_SSE2
19
#endif
20
21
#if defined(__SSSE3__)
22
#define HAVE_SSSE3
23
#endif
24
25
#if defined(__SSE4_1__)
26
#define HAVE_SSE4_1
27
#endif
28
29
#if defined(__AVX__)
30
#define HAVE_AVX
31
#endif
32
33
#if defined(__XOP__)
34
#define HAVE_XOP
35
#endif
36
37
38
#ifdef HAVE_AVX2
39
#ifndef HAVE_AVX
40
#define HAVE_AVX
41
#endif
42
#endif
43
44
#ifdef HAVE_XOP
45
#ifndef HAVE_AVX
46
#define HAVE_AVX
47
#endif
48
#endif
49
50
#ifdef HAVE_AVX
51
#ifndef HAVE_SSE4_1
52
#define HAVE_SSE4_1
53
#endif
54
#endif
55
56
#ifdef HAVE_SSE4_1
57
#ifndef HAVE_SSSE3
58
#define HAVE_SSSE3
59
#endif
60
#endif
61
62
#ifdef HAVE_SSSE3
63
#define HAVE_SSE2
64
#endif
65
66
#if !defined(HAVE_SSE2)
67
#error "This code requires at least SSE2."
68
#endif
69
70
#endif
71
72
73