Merge pull request #26396 from hanliutong:rvv-fp16-m2

Use LMUL=2 in the RISC-V Vector (RVV) FP16 part. (5.x)
pull/26418/head
Alexander Smorkalov 4 weeks ago committed by GitHub
commit 55105719dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 903
      modules/core/include/opencv2/core/hal/intrin_rvv_scalable.hpp
  2. 5
      modules/core/src/matmul.simd.hpp

@ -1595,7 +1595,10 @@ transform_16u( const ushort* src, ushort* dst, const float* m, int len, int scn,
static void
transform_32f( const float* src, float* dst, const float* m, int len, int scn, int dcn )
{
#if (CV_SIMD || CV_SIMD_SCALABLE) && !defined(__aarch64__) && !defined(_M_ARM64)
// Disabled for RISC-V Vector (scalable), because of:
// 1. v_matmuladd for RVV is 128-bit only but not scalable, this will fail the test `Core_Transform.accuracy`.
// 2. Both gcc and clang can autovectorize this, with better performance than using Universal intrinsic.
#if (CV_SIMD || CV_SIMD_SCALABLE) && !defined(__aarch64__) && !defined(_M_ARM64) && !(CV_TRY_RVV && CV_RVV)
int x = 0;
if( scn == 3 && dcn == 3 )
{

Loading…
Cancel
Save