From 5edbd1c5dce43b66f30c903797a91e39369c5b62 Mon Sep 17 00:00:00 2001 From: Ioan-Cristian Szabo Date: Mon, 13 Nov 2017 13:34:08 +0000 Subject: COMPMID-556: Add support to build arm64-v8.2-a for Android platform (clang compiler) Change-Id: Ibb779dd3a8d10786da6d8f70590e654e14654d7b Reviewed-on: http://mpd-gerrit.cambridge.arm.com/95530 Tested-by: Kaizen Reviewed-by: Pablo Tello --- .../NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp') diff --git a/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp b/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp index 4fcf6e2f37..a583c1dfd4 100644 --- a/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp +++ b/src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp @@ -53,7 +53,7 @@ namespace template void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, const ThreadInfo &info, float alpha) { -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC const auto width_matrix_b = static_cast(output->info()->dimension(0)); const auto in_b_stride = static_cast(input1->info()->strides_in_bytes()[1] / data_size_from_type(input1->info()->data_type())); const auto num_elems_vec_a = static_cast(input0->info()->dimension(0)); @@ -186,7 +186,7 @@ void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT }, ina, inb, out); -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ ARM_COMPUTE_UNUSED(input0); ARM_COMPUTE_UNUSED(input1); ARM_COMPUTE_UNUSED(output); @@ -194,7 +194,7 @@ void vector_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT ARM_COMPUTE_UNUSED(info); ARM_COMPUTE_UNUSED(alpha); ARM_COMPUTE_ERROR("Not implemented"); -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } template @@ -915,7 +915,7 @@ void matrix_matrix_multiply_f32(const ITensor *input0, const ITensor *input1, IT template void matrix_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, ITensor *output, const Window &window, float alpha) { -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC const size_t in_b_stride = input1->info()->strides_in_bytes()[1] / data_size_from_type(input1->info()->data_type()); const size_t out_stride = output->info()->strides_in_bytes()[1] / data_size_from_type(output->info()->data_type()); const int num_elems_matrix_b_x = input1->info()->dimension(0); @@ -1051,14 +1051,14 @@ void matrix_matrix_multiply_f16(const ITensor *input0, const ITensor *input1, IT vst1q_f16(mtx_out + 3 * out_stride, c.val[3]); }, ina, inb, out); -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ ARM_COMPUTE_UNUSED(input0); ARM_COMPUTE_UNUSED(input1); ARM_COMPUTE_UNUSED(output); ARM_COMPUTE_UNUSED(window); ARM_COMPUTE_UNUSED(alpha); ARM_COMPUTE_ERROR("Not implemented"); -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } template @@ -1454,13 +1454,13 @@ void NEGEMMMatrixMultiplyKernel::configure(const ITensor *input0, const ITensor num_elems_processed_per_iteration_x = 16; break; } -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC case DataType::F16: { num_elems_processed_per_iteration_x = 32; break; } -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ default: { ARM_COMPUTE_ERROR("Data type not supported"); @@ -1503,13 +1503,13 @@ void NEGEMMMatrixMultiplyKernel::configure(const ITensor *input0, const ITensor num_elems_processed_per_iteration_x = 8; break; } -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC case DataType::F16: { num_elems_processed_per_iteration_x = 8; break; } -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ default: { ARM_COMPUTE_ERROR("Data type not supported"); @@ -1563,14 +1563,14 @@ void NEGEMMMatrixMultiplyKernel::run(const Window &window, const ThreadInfo &inf vector_matrix_multiply_qs16(_input0, _input1, _output, window, info, _alpha); break; } -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC case DataType::F16: { multiply_alpha ? vector_matrix_multiply_f16(_input0, _input1, _output, window, info, _alpha) : vector_matrix_multiply_f16(_input0, _input1, _output, window, info, _alpha); break; } -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ default: { ARM_COMPUTE_ERROR("Data type not supported"); @@ -1600,14 +1600,14 @@ void NEGEMMMatrixMultiplyKernel::run(const Window &window, const ThreadInfo &inf matrix_matrix_multiply_qs16(_input0, _input1, _output, window, _alpha); break; } -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC case DataType::F16: { multiply_alpha ? matrix_matrix_multiply_f16(_input0, _input1, _output, window, _alpha) : matrix_matrix_multiply_f16(_input0, _input1, _output, window, _alpha); break; } -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ default: { ARM_COMPUTE_ERROR("Data type not supported"); -- cgit v1.2.1