diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2016-08-24 18:02:41 +0200 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2016-08-24 18:18:10 +0200 |
commit | d98beba6c8fa7b38fb62cb799c9c7de355937cf3 (patch) | |
tree | 55ed738873e970ac1f115e87fb151fb50399f300 /ref_vcombine.c | |
parent | c1cc7826d74587e0dc1c855810633a219b161ab3 (diff) | |
download | arm-neon-tests-d98beba6c8fa7b38fb62cb799c9c7de355937cf3.tar.gz |
Make sure FP16 tests are enabled only if the target actually supports them.
This implies checking __ARM_FP or __ARM_NEON_FP16_INTRINSICS to
account for different compilers.
Diffstat (limited to 'ref_vcombine.c')
-rw-r--r-- | ref_vcombine.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ref_vcombine.c b/ref_vcombine.c index 6cca113..cfe5c1a 100644 --- a/ref_vcombine.c +++ b/ref_vcombine.c @@ -46,7 +46,7 @@ void exec_vcombine (void) DECL_VARIABLE_64BITS_VARIANTS(vector64_a); DECL_VARIABLE_64BITS_VARIANTS(vector64_b); DECL_VARIABLE_128BITS_VARIANTS(vector128); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) DECL_VARIABLE(vector64_a, float, 16, 4); DECL_VARIABLE(vector64_b, float, 16, 4); DECL_VARIABLE(vector64_b_init, uint, 16, 4); @@ -55,7 +55,7 @@ void exec_vcombine (void) TEST_MACRO_64BITS_VARIANTS_2_5(VLOAD, vector64_a, buffer); VLOAD(vector64_a, buffer, , float, f, 32, 2); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) VLOAD(vector64_a, buffer, , float, f, 16, 4); #endif @@ -71,7 +71,7 @@ void exec_vcombine (void) VDUP(vector64_b, , poly, p, 16, 4, 0x66); VDUP(vector64_b, , float, f, 32, 2, 3.3f); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) /* There is no vdup_n_f16, so we need another initialization method. */ VDUP(vector64_b_init, , uint, u, 16, 4, 0x4b80 /* 15 */); @@ -92,7 +92,7 @@ void exec_vcombine (void) TEST_VCOMBINE(poly, p, 8, 8, 16); TEST_VCOMBINE(poly, p, 16, 4, 8); TEST_VCOMBINE(float, f, 32, 2, 4); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_VCOMBINE(float, f, 16, 4, 8); #endif |