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_vldX_lane.c | |
parent | c1cc7826d74587e0dc1c855810633a219b161ab3 (diff) | |
download | platform_external_arm-neon-tests-d98beba6c8fa7b38fb62cb799c9c7de355937cf3.tar.gz platform_external_arm-neon-tests-d98beba6c8fa7b38fb62cb799c9c7de355937cf3.tar.bz2 platform_external_arm-neon-tests-d98beba6c8fa7b38fb62cb799c9c7de355937cf3.zip |
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_vldX_lane.c')
-rw-r--r-- | ref_vldX_lane.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/ref_vldX_lane.c b/ref_vldX_lane.c index c0d5a34..7a74232 100644 --- a/ref_vldX_lane.c +++ b/ref_vldX_lane.c @@ -89,7 +89,7 @@ void exec_vldX_lane (void) DECL_VLDX_LANE(float, 32, 2, X); \ DECL_VLDX_LANE(float, 32, 4, X) -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) #define DECL_ALL_VLDX_LANE_FP16(X) \ DECL_VLDX_LANE(float, 16, 4, X); \ DECL_VLDX_LANE(float, 16, 8, X) @@ -122,7 +122,7 @@ void exec_vldX_lane (void) TEST_VLDX_LANE(, float, f, 32, 2, X, 0); \ TEST_VLDX_LANE(q, float, f, 32, 4, X, 2) -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) #define TEST_ALL_VLDX_LANE_FP16(X) \ TEST_VLDX_LANE(, float, f, 16, 4, X, 0); \ TEST_VLDX_LANE(q, float, f, 16, 8, X, 2) @@ -145,7 +145,7 @@ void exec_vldX_lane (void) TEST_EXTRA_CHUNK(float, 32, 2, X, Y); \ TEST_EXTRA_CHUNK(float, 32, 4, X, Y) -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) #define TEST_ALL_EXTRA_CHUNKS_FP16(X, Y) \ TEST_EXTRA_CHUNK(float, 16, 4, X, Y); \ TEST_EXTRA_CHUNK(float, 16, 8, X, Y) @@ -155,7 +155,7 @@ void exec_vldX_lane (void) DECL_ALL_VLDX_LANE(2); DECL_ALL_VLDX_LANE(3); DECL_ALL_VLDX_LANE(4); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) DECL_ALL_VLDX_LANE_FP16(2); DECL_ALL_VLDX_LANE_FP16(3); DECL_ALL_VLDX_LANE_FP16(4); @@ -177,7 +177,7 @@ void exec_vldX_lane (void) DUMMY_ARRAY(buffer_src, poly, 16, 8, 4); DUMMY_ARRAY(buffer_src, float, 32, 2, 4); DUMMY_ARRAY(buffer_src, float, 32, 4, 4); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) DUMMY_ARRAY(buffer_src, float, 16, 4, 4); DUMMY_ARRAY(buffer_src, float, 16, 8, 4); #endif @@ -186,12 +186,12 @@ void exec_vldX_lane (void) clean_results (); #define TEST_MSG "VLD2_LANE/VLD2Q_LANE" TEST_ALL_VLDX_LANE(2); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_VLDX_LANE_FP16(2); #endif dump_results_hex2 (TEST_MSG, " chunk 0"); TEST_ALL_EXTRA_CHUNKS(2, 1); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_EXTRA_CHUNKS_FP16(2, 1); #endif dump_results_hex2 (TEST_MSG, " chunk 1"); @@ -201,17 +201,17 @@ void exec_vldX_lane (void) #undef TEST_MSG #define TEST_MSG "VLD3_LANE/VLD3Q_LANE" TEST_ALL_VLDX_LANE(3); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_VLDX_LANE_FP16(3); #endif dump_results_hex2 (TEST_MSG, " chunk 0"); TEST_ALL_EXTRA_CHUNKS(3, 1); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_EXTRA_CHUNKS_FP16(3, 1); #endif dump_results_hex2 (TEST_MSG, " chunk 1"); TEST_ALL_EXTRA_CHUNKS(3, 2); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_EXTRA_CHUNKS_FP16(3, 2); #endif dump_results_hex2 (TEST_MSG, " chunk 2"); @@ -221,22 +221,22 @@ void exec_vldX_lane (void) #undef TEST_MSG #define TEST_MSG "VLD4_LANE/VLD4Q_LANE" TEST_ALL_VLDX_LANE(4); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_VLDX_LANE_FP16(4); #endif dump_results_hex2 (TEST_MSG, " chunk 0"); TEST_ALL_EXTRA_CHUNKS(4, 1); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_EXTRA_CHUNKS_FP16(4, 1); #endif dump_results_hex2 (TEST_MSG, " chunk 1"); TEST_ALL_EXTRA_CHUNKS(4, 2); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_EXTRA_CHUNKS_FP16(4, 2); #endif dump_results_hex2 (TEST_MSG, " chunk 2"); TEST_ALL_EXTRA_CHUNKS(4, 3); -#if defined(__ARM_FP16_FORMAT_IEEE) +#if defined(__ARM_FP16_FORMAT_IEEE) && ( ((__ARM_FP & 0x2) != 0) || ((__ARM_NEON_FP16_INTRINSICS & 1) != 0) ) TEST_ALL_EXTRA_CHUNKS_FP16(4, 3); #endif dump_results_hex2 (TEST_MSG, " chunk 3"); |