add R-V V build check

Signed-off-by: sunyuechi <sunyuechi@iscas.ac.cn>
This commit is contained in:
sunyuechi
2025-02-27 12:19:09 +08:00
committed by Pablo de Lara
parent 027be4beb9
commit c0bd84c20e
4 changed files with 44 additions and 11 deletions

View File

@@ -26,6 +26,7 @@
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**********************************************************************/
#if HAVE_RVV
.option arch, +v
.global adler32_rvv
.type adler32_rvv, %function
@@ -74,3 +75,4 @@ adler32_rvv:
add a0, t2, t3 // a0 = A + B
ret
#endif

View File

@@ -29,7 +29,11 @@
#include "riscv64_multibinary.h"
mbin_interface isal_adler32
#if HAVE_RVV
mbin_interface isal_adler32
#else
mbin_interface_base isal_adler32, adler32_base
#endif
mbin_interface_base gen_icf_map_lh1, gen_icf_map_h1_base
mbin_interface_base decode_huffman_code_block_stateless, decode_huffman_code_block_stateless_base

View File

@@ -30,9 +30,11 @@
DEFINE_INTERFACE_DISPATCHER(isal_adler32)
{
#if HAVE_RVV
const unsigned long hwcap = getauxval(AT_HWCAP);
if (hwcap & HWCAP_RV('V'))
return PROVIDER_INFO(adler32_rvv);
else
#endif
return PROVIDER_BASIC(adler32);
}