From 493614901bcecea23554b52a3a55fc0772c2de8b Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Fri, 24 Jan 2025 20:04:43 +0100 Subject: [PATCH] arm neon FCMLA with 16-bit floats, requires the FP16 feature --- simde/arm/neon/cmla_lane.h | 16 ++++++++-------- simde/arm/neon/cmla_rot180_lane.h | 26 +++++++++++++------------- simde/arm/neon/cmla_rot270_lane.h | 14 +++++++------- simde/arm/neon/cmla_rot90_lane.h | 16 ++++++++-------- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/simde/arm/neon/cmla_lane.h b/simde/arm/neon/cmla_lane.h index 7b932db90..78ca6e8b7 100644 --- a/simde/arm/neon/cmla_lane.h +++ b/simde/arm/neon/cmla_lane.h @@ -72,13 +72,13 @@ simde_float16x4_t simde_vcmla_lane_f16(simde_float16x4_t r, simde_float16x4_t a, return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_lane_f16(r, a, b, lane) vcmla_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_lane_f16 @@ -161,13 +161,13 @@ simde_float16x4_t simde_vcmla_laneq_f16(simde_float16x4_t r, simde_float16x4_t a return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_laneq_f16(r, a, b, lane) vcmla_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_laneq_f16 @@ -258,13 +258,13 @@ simde_float16x8_t simde_vcmlaq_lane_f16(simde_float16x8_t r, simde_float16x8_t a simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_lane_f16(r, a, b, lane) vcmlaq_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_lane_f16 @@ -356,13 +356,13 @@ simde_float16x8_t simde_vcmlaq_laneq_f16(simde_float16x8_t r, simde_float16x8_t simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_laneq_f16(r, a, b, lane) vcmlaq_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_laneq_f16 diff --git a/simde/arm/neon/cmla_rot180_lane.h b/simde/arm/neon/cmla_rot180_lane.h index efba54d45..d7704d264 100644 --- a/simde/arm/neon/cmla_rot180_lane.h +++ b/simde/arm/neon/cmla_rot180_lane.h @@ -76,13 +76,13 @@ simde_float16x4_t simde_vcmla_rot180_lane_f16(simde_float16x4_t r, simde_float16 return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot180_lane_f16(r, a, b, lane) vcmla_rot180_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_rot180_lane_f16 @@ -176,13 +176,13 @@ simde_float16x8_t simde_vcmlaq_rot180_lane_f16(simde_float16x8_t r, simde_float1 simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_rot180_lane_f16(r, a, b, lane) vcmlaq_rot180_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_rot180_lane_f16 @@ -269,13 +269,13 @@ simde_float16x4_t simde_vcmla_rot180_laneq_f16(simde_float16x4_t r, simde_float1 return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot180_laneq_f16(r, a, b, lane) vcmla_rot180_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_rot180_laneq_f16 @@ -310,8 +310,8 @@ simde_float32x2_t simde_vcmla_rot180_laneq_f32(simde_float32x2_t r, simde_float3 #endif return simde_float32x2_from_private(r_); } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ - (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ + (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot180_laneq_f32(r, a, b, lane) vcmla_rot180_laneq_f32(r, a, b, lane) #endif @@ -369,13 +369,13 @@ simde_float16x8_t simde_vcmlaq_rot180_laneq_f16(simde_float16x8_t r, simde_float simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ - (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ + (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_rot180_laneq_f16(r, a, b, lane) vcmlaq_rot180_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_rot180_laneq_f16 @@ -412,8 +412,8 @@ simde_float32x4_t simde_vcmlaq_rot180_laneq_f32(simde_float32x4_t r, simde_float #endif return simde_float32x4_from_private(r_); } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ - (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ + (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_rot180_laneq_f32(r, a, b, lane) vcmlaq_rot180_laneq_f32(r, a, b, lane) #endif diff --git a/simde/arm/neon/cmla_rot270_lane.h b/simde/arm/neon/cmla_rot270_lane.h index 9cdc1fb6a..7366a521b 100644 --- a/simde/arm/neon/cmla_rot270_lane.h +++ b/simde/arm/neon/cmla_rot270_lane.h @@ -76,13 +76,13 @@ simde_float16x4_t simde_vcmla_rot270_lane_f16(simde_float16x4_t r, simde_float16 return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot270_lane_f16(r, a, b, lane) vcmla_rot270_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_rot270_lane_f16 @@ -176,13 +176,13 @@ simde_float16x8_t simde_vcmlaq_rot270_lane_f16(simde_float16x8_t r, simde_float1 simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_rot270_lane_f16(r, a, b, lane) vcmlaq_rot270_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_rot270_lane_f16 @@ -269,13 +269,13 @@ simde_float16x4_t simde_vcmla_rot270_laneq_f16(simde_float16x4_t r, simde_float1 return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot270_laneq_f16(r, a, b, lane) vcmla_rot270_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_rot270_laneq_f16 @@ -375,7 +375,7 @@ simde_float16x8_t simde_vcmlaq_rot270_laneq_f16(simde_float16x8_t r, simde_float #define simde_vcmlaq_rot270_laneq_f16(r, a, b, lane) vcmlaq_rot270_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_rot270_laneq_f16 diff --git a/simde/arm/neon/cmla_rot90_lane.h b/simde/arm/neon/cmla_rot90_lane.h index 8724fefaf..ba811bbed 100644 --- a/simde/arm/neon/cmla_rot90_lane.h +++ b/simde/arm/neon/cmla_rot90_lane.h @@ -76,13 +76,13 @@ simde_float16x4_t simde_vcmla_rot90_lane_f16(simde_float16x4_t r, simde_float16x return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot90_lane_f16(r, a, b, lane) vcmla_rot90_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_rot90_lane_f16 @@ -167,13 +167,13 @@ simde_float16x4_t simde_vcmla_rot90_laneq_f16(simde_float16x4_t r, simde_float16 return simde_vcvt_f16_f32(simde_float32x4_from_private(r_)); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmla_rot90_laneq_f16(r, a, b, lane) vcmla_rot90_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmla_rot90_laneq_f16 @@ -268,13 +268,13 @@ simde_float16x8_t simde_vcmlaq_rot90_lane_f16(simde_float16x8_t r, simde_float16 simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_rot90_lane_f16(r, a, b, lane) vcmlaq_rot90_lane_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_rot90_lane_f16 @@ -370,13 +370,13 @@ simde_float16x8_t simde_vcmlaq_rot90_laneq_f16(simde_float16x8_t r, simde_float1 simde_vcvt_f16_f32(simde_float32x4_from_private(r_high))); #endif } -#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && \ +#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && SIMDE_ARCH_ARM_CHECK(8, 3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9, 0, 0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12, 0, 0)) #define simde_vcmlaq_rot90_laneq_f16(r, a, b, lane) vcmlaq_rot90_laneq_f16(r, a, b, lane) #endif #if defined(SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && \ - !(SIMDE_ARCH_ARM_CHECK(8,3) && \ + !(SIMDE_ARCH_ARM_CHECK(8,3) && defined(SIMDE_ARM_NEON_FP16) && \ (!defined(HEDLEY_GCC_VERSION) || HEDLEY_GCC_VERSION_CHECK(9,0,0)) && \ (!defined(__clang__) || SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)))) #undef vcmlaq_rot90_laneq_f16