mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
arm: update ARM/NEON macros
This commit is contained in:
@@ -10,10 +10,6 @@
|
|||||||
#include "intrin.h"
|
#include "intrin.h"
|
||||||
#ifdef CGLM_SIMD_ARM
|
#ifdef CGLM_SIMD_ARM
|
||||||
|
|
||||||
#if defined(_M_ARM64) || defined(_M_HYBRID_X86_ARM64) || defined(_M_ARM64EC) || defined(__aarch64__)
|
|
||||||
# define CGLM_ARM64 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define glmm_load(p) vld1q_f32(p)
|
#define glmm_load(p) vld1q_f32(p)
|
||||||
#define glmm_store(p, a) vst1q_f32(p, a)
|
#define glmm_store(p, a) vst1q_f32(p, a)
|
||||||
|
|
||||||
|
|||||||
@@ -69,13 +69,21 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* ARM Neon */
|
/* ARM Neon */
|
||||||
#if defined(__ARM_NEON) || defined(__ARM_NEON__)
|
/* TODO: check _M_ARM and compiling should work if there is no ARM64 and NEON */
|
||||||
|
#if defined(__ARM_NEON) || defined(__ARM_NEON__) \
|
||||||
|
|| defined(_M_ARM64) || defined(_M_HYBRID_X86_ARM64) || defined(_M_ARM64EC) || defined(__aarch64__)
|
||||||
# include <arm_neon.h>
|
# include <arm_neon.h>
|
||||||
# if defined(__ARM_NEON_FP)
|
# ifndef __ARM_NEON
|
||||||
# define CGLM_NEON_FP 1
|
# define __ARM_NEON
|
||||||
# ifndef CGLM_SIMD_ARM
|
# endif
|
||||||
# define CGLM_SIMD_ARM
|
# ifndef __ARM_NEON_FP
|
||||||
# endif
|
# define __ARM_NEON_FP 1
|
||||||
|
# endif
|
||||||
|
# ifndef CGLM_ARM64
|
||||||
|
# define CGLM_ARM64 1
|
||||||
|
# endif
|
||||||
|
# ifndef CGLM_SIMD_ARM
|
||||||
|
# define CGLM_SIMD_ARM
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user