Project
Loading...
Searching...
No Matches
qmaths_helpers.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef QMATH_HELPERS_H
16#define QMATH_HELPERS_H
17
18#if defined __has_include
19#if __has_include(<xmmintrin.h>) && __has_include(<pmmintrin.h>)
20#include <xmmintrin.h>
21#include <pmmintrin.h>
22#if defined(_MM_FLUSH_ZERO_OFF) && defined(_MM_DENORMALS_ZERO_ON)
23static void disable_denormals()
24{
25 _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
26 _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON);
27}
28#define XMM_HAS_DENORMAL_DEACTIVATE
29#endif
30#endif
31#endif
32#ifdef XMM_HAS_DENORMAL_DEACTIVATE
33#undef XMM_HAS_DENORMAL_DEACTIVATE
34#else
35static void disable_denormals() {}
36#endif
37
38#endif