diff --git a/src/ltpf_arm.h b/src/ltpf_arm.h index 631bc12..2c85ee9 100644 --- a/src/ltpf_arm.h +++ b/src/ltpf_arm.h @@ -16,7 +16,7 @@ * ******************************************************************************/ -#if __ARM_FEATURE_SIMD32 +#if __ARM_FEATURE_SIMD32 || defined(TEST_ARM) #ifndef TEST_ARM diff --git a/src/ltpf_neon.h b/src/ltpf_neon.h index cd27c20..eb1e7d8 100644 --- a/src/ltpf_neon.h +++ b/src/ltpf_neon.h @@ -16,7 +16,8 @@ * ******************************************************************************/ -#if __ARM_NEON && __ARM_ARCH_ISA_A64 +#if __ARM_NEON && __ARM_ARCH_ISA_A64 && \ + !defined(TEST_ARM) || defined(TEST_NEON) #ifndef TEST_NEON #include diff --git a/src/mdct_neon.h b/src/mdct_neon.h index 4088212..a970d4a 100644 --- a/src/mdct_neon.h +++ b/src/mdct_neon.h @@ -16,7 +16,8 @@ * ******************************************************************************/ -#if __ARM_NEON && __ARM_ARCH_ISA_A64 +#if __ARM_NEON && __ARM_ARCH_ISA_A64 && \ + !defined(TEST_ARM) || defined(TEST_NEON) #ifndef TEST_NEON #include diff --git a/test/arm/simd32.h b/test/arm/simd32.h index fd17f71..ae002f4 100644 --- a/test/arm/simd32.h +++ b/test/arm/simd32.h @@ -20,8 +20,14 @@ #include +static inline int16x2_t __pkhbt(int16x2_t a, int16x2_t b) +{ + int16x2_t r; + __asm("pkhbt %0, %1, %2" : "=r" (r) : "r" (a), "r" (b)); + return r; +} + #else -#define __ARM_FEATURE_SIMD32 1 #include diff --git a/test/neon/neon.h b/test/neon/neon.h index 4fbf2be..aaca818 100644 --- a/test/neon/neon.h +++ b/test/neon/neon.h @@ -16,13 +16,11 @@ * ******************************************************************************/ -#if __ARM_NEON +#if __ARM_NEON && __ARM_ARCH_ISA_A64 #include #else -#define __ARM_NEON 1 -#define __ARM_ARCH_ISA_A64 1 #include