7#elifdef __ARM_FEATURE_MVE
11#define SIMDE_ENABLE_NATIVE_ALIASES
18#ifndef ARGON_PLATFORM_MVE
22template <
typename T>
struct Vec64;
25template <>
struct Vec64<int8_t> {
using type = int8x8_t; };
26template <>
struct Vec64<uint8_t> {
using type = uint8x8_t; };
27template <>
struct Vec64<int16_t> {
using type = int16x4_t; };
28template <>
struct Vec64<uint16_t> {
using type = uint16x4_t; };
29template <>
struct Vec64<int32_t> {
using type = int32x2_t; };
30template <>
struct Vec64<uint32_t> {
using type = uint32x2_t; };
31template <>
struct Vec64<int64_t> {
using type = int64x1_t; };
32template <>
struct Vec64<uint64_t> {
using type = uint64x1_t; };
34#if ARGON_HAS_SINGLE_FLOAT
35template <>
struct Vec64<float> {
using type = float32x2_t; };
38#if ARGON_HAS_HALF_FLOAT
39template <>
struct Vec64<float16_t> {
using type = float16x4_t; };
42#if ARGON_HAS_DOUBLE_FLOAT
43template <>
struct Vec64<float64_t> {
using type = float64x1_t; };
50using Vec64_t =
typename Vec64<std::remove_cv_t<T>>::type;
Header file for SIMD features and platform detection.
Helper template to get the SIMD double-word vector type for a given scalar type.
Definition vec64.hpp:22