RVV: Enable RVV on GCC

GCC now supports vector segment load and store, which
was previously missing; and the reason why it was disabled.

Change-Id: I923fd8a15476de8dcc2103bb8335d4fcc3ca96a9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7241606
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Wan-Teh Chang <wtc@google.com>
This commit is contained in:
Valentin Haudiquet 2025-12-09 11:20:20 +01:00 committed by libyuv LUCI CQ
parent 821b9c5de1
commit 022efdb0b7
2 changed files with 6 additions and 10 deletions

View File

@ -17,9 +17,8 @@
#include "libyuv/row.h"
// This module is for clang rvv. GCC hasn't supported segment load & store.
#if !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector) && \
defined(__clang__)
// This module is for RVV (RISC-V Vector extension)
#if !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector)
#include <assert.h>
#include <riscv_vector.h>
@ -2595,5 +2594,4 @@ void ARGBCopyYToAlphaRow_RVV(const uint8_t* src, uint8_t* dst, int width) {
} // namespace libyuv
#endif
#endif // !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector) &&
// defined(__clang__)
#endif // !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector)

View File

@ -18,9 +18,8 @@
#include "libyuv/row.h"
#include "libyuv/scale_row.h"
// This module is for clang rvv. GCC hasn't supported segment load & store.
#if !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector) && \
defined(__clang__)
// This module is for RVV (RISC-V Vector extension)
#if !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector)
#include <assert.h>
#include <riscv_vector.h>
#ifdef __cplusplus
@ -1967,5 +1966,4 @@ void ScaleUVRowUp2_Bilinear_RVV(const uint8_t* src_ptr,
} // namespace libyuv
#endif
#endif // !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector) &&
// defined(__clang__)
#endif // !defined(LIBYUV_DISABLE_RVV) && defined(__riscv_vector)