(root)/
Python-3.11.7/
Modules/
_blake2/
impl/
blake2-config.h
       1  /*
       2     BLAKE2 reference source code package - optimized C implementations
       3  
       4     Written in 2012 by Samuel Neves <sneves@dei.uc.pt>
       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