Argon 0.1.0
Loading...
Searching...
No Matches
arm_simd.hpp
1#pragma once
2
3#ifdef __ARM_NEON
4#if (__ARM_ARCH >= 8) // ARMv8
5
6#ifdef __ARM_64BIT_STATE // A64
7#include "arm_simd/neon/a64.hpp"
8#else // A32
9#include "arm_simd/neon/a32.hpp"
10#endif
11
12#else // __ARM_ARCH < 8
13
14// ARMv7
15#ifdef __ARM_FEATURE_FMA
16#include "arm_simd/neon/vfpv4.hpp"
17#else // !__ARM_FEATURE_FMA = VFPv3
18#include "arm_simd/neon/vfpv3.hpp"
19#endif
20#endif
21
22#elifdef __ARM_FEATURE_MVE
23
24#include "arm_simd/mve/int.hpp"
25
26#if (__ARM_FEATURE_MVE & 2)
27#include "arm_simd/mve/float.hpp"
28#endif
29
30#else
31#include "arm_simd/neon/vfpv3.hpp"
32#endif