risc-v向量扩展strlen方法学习

news2025/1/20 6:04:50

riscv向量文档中给出了strlen的实现,

大概是这么一个思路,

  1. 加载向量: 使用向量加载指令(如 vload)从内存中加载一个向量长度的字符。
  2. 比较向量与零: 使用向量比较指令(如 vmask 或 vcmpeq)来检查向量中的每个字符是否为零。
  3. 查找零元素: 使用向量查找指令(如 vfirst)来找到向量中第一个零元素的位置。
  4. 处理结果: 如果在向量中找到了零元素,则更新 strlen 的值,并可能调整指针以继续搜索剩余的字符串。
  5. 处理剩余字符: 如果向量中没有零元素,则继续处理剩余的字符,直到找到空字符为止。

vle8ff 避免出现crash

最后几行的逻辑如下

len = x - a0

x = a3 - (a1 - a2)

所以

len = a3 + a2 - (a0  + a1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1568698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTPS RSA 握手解析(计算机网络)

传统的 TLS 握手基本都是使用 RSA 算法来实现密钥交换的,在将 TLS 证书部署服务端时,证书文件其实就是服务端的公钥,会在 TLS 握手阶段传递给客户端,而服务端的私钥则一直留在服务端。 在 RSA 密钥协商算法中,客户端会…

【generate】如何维护一套icon组件库,直接输出svg为react component

https://github.com/ant-design/ant-design-web3/pull/761/files 实现了icon-preview(通过jsdoc, 鼠标放在组件上可以看到icon的样式),因为打包方式、产物以及命名上有一些不同,可能需要稍加改造。 这个同步脚本应该后续也用得上,略加改造同步…

装饰工程管理系统|基于Springboot的装饰工程管理系统设计与实现(源码+数据库+文档)

装饰工程管理系统-项目立项子系统目录 目录 基于Springboot的装饰工程管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 (2)合同报价管理 (3)装饰材料总计划管理 (4&#xff0…

深度解析GPT中的Tokenizer

继学习完深度解析大语言模型中的词向量后,让我们继续学习大语言模型中另外几个重要概念:token(词元)、tokenization(词元化)、tokenizer(词元生成器)。 在GPT模型中,toke…

Minikube本地搭建单节点Kubernetes集群

1、什么是 Minikube Minikube 是一个开源工具,旨在为开发者提供一种便捷的方式在本地环境中搭建单节点的 Kubernetes 集群。它主要用于开发、测试和学习 Kubernetes 应用程序,无需依赖大型的硬件资源或复杂的多节点集群配置。minikube 使用轻量级虚拟化技…

小林coding图解计算机网络|基础篇02|键入网址到网页显示,期间发生了什么?

小林coding网站通道:入口 本篇文章摘抄应付面试的重点内容,详细内容还请移步:小林coding网站通道 文章目录 孤单小弟——HTTP真实地址查询——DNS指南好帮手——协议栈可靠传输——TCP远程定位——IP两点传输——MAC出口——网卡送别者——交…

如何优化TCP?TCP的可靠传输机制是什么?

在网络世界中,传输层协议扮演着至关重要的角色,特别是TCP协议,以其可靠的数据传输特性而广受青睐。然而,随着网络的发展和数据量的激增,传统的TCP协议在效率方面遭遇了挑战。小编将深入分析TCP的可靠性传输机制&#x…

CentOS7安装MySQL8.0.28(持续)

第一步 :下载mysql MySQL https://www.mysql.com/

【剑指offr--C/C++】JZ59 滑动窗口的最大值

一、题目 二、思路及代码 暴力解法是依次往后滑动一位,然后比较窗口内的值。 我这里考虑:窗口每次往后移动一位,那么如果当前窗口的最大值max在窗口内部,那么再滑动到下一个窗口的时候,窗口内只有最新进来的一个元素没…

操作系统导论课后作业-第十七章答案

课程作业-第十七章: 17.1首先以标志flag -n 10 -H 0 -p BEST -s 0运行程序来产生一些随机的分配和空闲。你能预测malloc()/free()会返回什么吗?你可以在每次请求后猜测空闲列表的状态吗?随着时间的推移,你对空闲列表有什么发现&a…

Windows 11安装kb5035853补丁时,提示错误0x800f0922,并且弹出“某些操作未按计划进行,不必担心,正在撤消更改。请不要关机”

Windows 11安装kb5035853补丁时,提示错误0x800f0922,并且还在重启后弹出“某些操作未按计划进行,不必担心,正在撤消更改。请不要关机”,按微软官方的作法是:https://learn.microsoft.com/zh-cn/windows/rel…

同态加密算法的概念与应用

同态加密算法的基本概念 同态加密算法是一种特殊的加密算法,允许对加密状态下的数据进行计算,得到的结果仍然是加密的状态,而不是解密后的明文。同态加密算法的核心原理是将明文数据映射到一个特定的数学空间中,在该数学空间中实…

mac电脑安装redis教程

1、下载地址 Download | RedisRedisYou can download the last Redis source files here. For additional options, see the Redis downloads section below.Stable (7.2)Redis 7.2 …https://redis.io/download/#redis-downloads 2、安装 2.1 解压下载后的压缩文件 2.2 进入…

基于 Docker 的 go grpc quickstart

工作之后一直使用的 RPC 框架是 Apache 的 thrift,现在发现 grpc 更流行,所以也要学习一下,先来简单的跑一下 demo。在本地安装运行也很方便,不过因为有了 docker,所以在 docker 里面安装运行隔离性更好,顺…

构建第一个ArkTS应用(Stage模型)

创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。选择Application应用开发(本文以应用开发为例,Atomic Servi…

运筹学经典问题(八):CVRP和VRP-TW

文章目录 问题描述问题建模决策变量数学建模基于容量的消除子环的约束 (load-based SECs) CVRP完整的数学模型加上时间窗限制的CVRP 问题描述 给定一个图,图上的点代表客户,边代表客户之间的路线,边的权重代表客户之间…

生成式人工智能与 LangChain(预览)(上)

原文:Generative AI with LangChain 译者:飞龙 协议:CC BY-NC-SA 4.0 一、生成模型是什么? 人工智能(AI)取得了重大进展,影响着企业、社会和个人。在过去的十年左右,深度学习已经发…

联达动力OA 多处任意文件上传漏洞复现

0x01 产品简介 联达动力OA是PHPOA推出的新一代OA系统,系统支持性好、安全、数据高速缓存化;支持100+应用自行安装与定义,应用表单自定义,支持应用无代码开发,支持多语言。 0x02 漏洞概述 联达动力OA /FileManage/UpLoadFile.aspx、/Hosp_Portal/uploadLogo.aspx、/Dept_Por…

基于51单片机智能加湿器控制系统

基于51单片机智能加湿器控制系统 (仿真+程序+原理图) 功能介绍 具体功能: 1.LCD1602实时显示湿度值(湿度范围10%-95%)和湿度阈值; 2.可以通过按键设置湿度阈值范围; 3…

ES6展开运算符

1.展开可迭代对象(简单理解为数组和伪数组),如数组、 NodeList 、arguments。 可以通过展开运算符把一个伪数组转换为数组 const a [...document.body.children]; console.log(a); console.log(Array.isArray(a));2.实现数组的浅拷贝 cons…