From: HAN Liutong Date: Wed, 26 Oct 2022 13:02:03 +0000 (+0000) Subject: Update SIMD macro for RVV backend. X-Git-Tag: accepted/tizen/unified/20230127.161057~1^2~101^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5462a6be6e870b4a894592207921db2c9495f17c;p=platform%2Fupstream%2Fopencv.git Update SIMD macro for RVV backend. --- diff --git a/modules/core/include/opencv2/core/hal/intrin.hpp b/modules/core/include/opencv2/core/hal/intrin.hpp index c12140bbf8..4239a7e229 100644 --- a/modules/core/include/opencv2/core/hal/intrin.hpp +++ b/modules/core/include/opencv2/core/hal/intrin.hpp @@ -522,6 +522,11 @@ using namespace CV__SIMD_NAMESPACE; #endif +//! @cond IGNORED +#ifndef CV_SIMD_64F +#define CV_SIMD_64F 0 +#endif + namespace CV__SIMD_NAMESPACE { //! @addtogroup core_hal_intrin //! @{ @@ -886,10 +891,6 @@ namespace CV__SIMD_NAMESPACE { #undef VXPREFIX } // namespace -//! @cond IGNORED -#ifndef CV_SIMD_64F -#define CV_SIMD_64F 0 -#endif #ifndef CV_SIMD_FP16 #define CV_SIMD_FP16 0 //!< Defined to 1 on native support of operations with float16x8_t / float16x16_t (SIMD256) types diff --git a/modules/core/include/opencv2/core/hal/intrin_rvv_scalable.hpp b/modules/core/include/opencv2/core/hal/intrin_rvv_scalable.hpp index 463c010d71..5dd9e2cda7 100644 --- a/modules/core/include/opencv2/core/hal/intrin_rvv_scalable.hpp +++ b/modules/core/include/opencv2/core/hal/intrin_rvv_scalable.hpp @@ -1,3 +1,9 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +// The original implementation is contributed by HAN Liutong. +// Copyright (C) 2022, Institute of Software, Chinese Academy of Sciences. #ifndef OPENCV_HAL_INTRIN_RVV_SCALABLE_HPP #define OPENCV_HAL_INTRIN_RVV_SCALABLE_HPP @@ -1689,7 +1695,7 @@ OPENCV_HAL_IMPL_RVV_PACK_TRIPLETS(v_float64, vlmul_trunc_u8mf8) ////// FP16 support /////// -#if __riscv_zfh +#if defined(__riscv_zfh) && __riscv_zfh inline v_float32 v_load_expand(const float16_t* ptr) { return vfwcvt_f(vle16_v_f16mf2((_Float16*)ptr, VTraits::vlanes()) ,VTraits::vlanes());;