root/src/simh/dispatch.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * vim: filetype=c:tabstop=4:ai:expandtab
   3  * SPDX-License-Identifier: BSD-2-Clause
   4  * scspell-id: f32bf565-f629-11ec-8ceb-80ee73e9b8e7
   5  *
   6  * -------------------------------------------------------------------------
   7  *
   8  * Copyright (c) 2009-2019 Agner Fog
   9  * Copyright (c) 2021-2022 The DPS8M Development Team
  10  *
  11  * Redistribution and use in source and binary forms, with or without
  12  * modification, are permitted provided that the following conditions
  13  * are met:
  14  *
  15  * 1. Redistributions of source code must retain the above copyright
  16  *    notice, this list of conditions and the following disclaimer.
  17  *
  18  * 2. Redistributions in binary form must reproduce the above copyright
  19  *    notice, this list of conditions and the following disclaimer in the
  20  *    documentation and/or other materials provided with the distribution.
  21  *
  22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  28  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  31  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  32  * SUCH DAMAGE.
  33  *
  34  * -------------------------------------------------------------------------
  35  */
  36 
  37 #ifndef __DISPATCH_H_
  38 # define __DISPATCH_H_
  39 
  40 # include <stdint.h>
  41 
  42 # if defined( __INTEL_COMPILER )       || \
  43      defined( __INTEL_CLANG_COMPILER ) || \
  44      defined( __INTEL_LLVM_COMPILER )  || \
  45      defined( INTEL_MKL_VERSION )      || \
  46      defined( __INTEL_MKL__ )
  47 
  48 extern int64_t __intel_cpu_feature_indicator;
  49 extern int64_t __intel_cpu_feature_indicator_x;
  50 extern int64_t __intel_mkl_feature_indicator;
  51 extern int64_t __intel_mkl_feature_indicator_x;
  52 
  53 void __intel_cpu_features_init();
  54 void __intel_cpu_features_init_x();
  55 #  if defined( INTEL_MKL_VERSION ) || \
  56       defined( __INTEL_MKL__ )
  57 void __intel_mkl_features_init();
  58 void __intel_mkl_features_init_x();
  59 #  endif
  60          /* if defined( INTEL_MKL_VERSION ) ||
  61                defined( __INTEL_MKL__ ) */
  62 
  63 void agner_compiler_patch();
  64 #  if defined( __INTEL_COMPILER )       || \
  65       defined( __INTEL_CLANG_COMPILER ) || \
  66       defined( __INTEL_LLVM_COMPILER )
  67 void agner_cpu_patch();
  68 #  endif
  69          /* if defined( __INTEL_COMPILER )       ||
  70                defined( __INTEL_CLANG_COMPILER ) ||
  71                defined( __INTEL_LLVM_COMPILER ) */
  72 #  if defined( INTEL_MKL_VERSION ) || defined( __INTEL_MKL__ )
  73 void agner_mkl_patch();
  74 #  endif
  75          /* if defined( INTEL_MKL_VERSION ) ||
  76                defined( __INTEL_MKL__ ) */
  77 # endif
  78         /* if defined( __INTEL_COMPILER )       ||
  79               defined( __INTEL_CLANG_COMPILER ) ||
  80               defined( __INTEL_LLVM_COMPILER )  ||
  81               defined( INTEL_MKL_VERSION )      ||
  82               defined( __INTEL_MKL__ ) */
  83 
  84 #endif /* ifndef __DISPATCH_H_ */

/* [previous][next][first][last][top][bottom][index][help] */