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

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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Js之运算符与表达式

运算符:也叫操作符,是一种符号。通过运算符可以对一个或多个值进行运算,并获取运算结果。 表达式:由数字、运算符、变量的组合(组成的式子)。 表达式最终都会有一个运算结果,我们将这个结果称…

【电路笔记】-快速了解数字逻辑门

快速了解数字逻辑门 文章目录 快速了解数字逻辑门1、概述2、集成电路的分类3、摩尔定律4、数字逻辑状态5、数字逻辑噪声6、简单的基本数字逻辑门7、基本 TTL 逻辑门8、发射极耦合数字逻辑门9、集成电路的“74”子族10、基本 CMOS 数字逻辑门数字逻辑门是一种电子电路,它根据其…

C++从入门到精通——引用()

C的引用 前言一、C引用概念二、引用特性交换指针引用 三、常引用保证值不变权限的方法权限的放大权限的缩小权限的平移类型转换临时变量 四、引用的使用场景1. 做参数2. 做返回值 五、传值、传引用效率比较值和引用的作为返回值类型的性能比较 六、引用和指针的区别引用和指针的…

动态规划-最长回文子串

动态规划-最长回文子串 原题描述解答中心移动思想代码实现复杂度分析时间复杂度空间复杂度 动态规划思想代码实现复杂度分析时间复杂度空间复杂度 突然觉得很有必要将学过的内容记录下来,这样后续在需要用到的时候就可以避免从头进行学习,而去看自己之前…

调试技巧安全预编译头文件(C++基础)

调试 调试可以选择条件调试和操作调试: 条件调试来选择条件进入断点设置,操作调试来使达到断点条件后完成某些操作(一般是output窗口输出)。 在这里就只输出了小于6的条件。 安全 降低崩溃、内存泄露、非法访问等问题。 应该转…

GetSystemTimes:获取CPU占用率(WIN API)

原文链接:https://blog.csdn.net/qq_28742901/article/details/104960653 GetSystemTimes函数: BOOL WINAPI GetSystemTimes(__out_opt LPFILETIME lpIdleTime, // 空闲时间__out_opt LPFILETIME lpKernelTime, // 内核进程占用时间__out_opt LPFILETI…

【JavaWeb】Day29.SpringBootWeb请求响应——请求(二)

请求响应 4.数组集合参数 数组集合参数的使用场景:在HTML的表单中,有一个表单项是支持多选的(复选框),可以提交选择的多个值。 4.1 数组 数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即…

C++取经之路(其一)——namespace(命名空间),cout,cin(输入输出流),缺省参数。

目录 目录: 前言: namespace(命名空间): 命名空间可以嵌套使用如: 相同的命名空间 cout cin输入输出 std命名空间的使用惯例: 缺省参数: 缺省类型: 前言: 最近开始学习C了,…

Web 前端性能优化之二:图像优化

1、图像优化 HTTP Archive上的数据显示,网站传输的数据中,60%的资源都是由各种图像文件组成的。 **图像资源优化的根本思想,可以归结为两个字:压缩。**无论是选取何种图像的文件格式,还是针对同一种格式压缩至更小的…

两种序列化的方式:fastjson 和 Jackson

public class TestMain {public static void main(String[] args) throws JsonProcessingException {//创建一个课表对象LearningLesson lesson new LearningLesson();lesson.setId(1L);lesson.setCourseId(2L);lesson.setStatus(LessonStatus.EXPIRED); //课程状态&#xff0…

网安基础2-Sniffer的使用与防范

1. 嗅探器sniffer的工作原理 能捕获经过该网络设备的报文,通过分析网络流量,找出关键信息,解决网络问题。 不同于键盘捕获程序,如keylogger利用中断或钩子技术,Sniffer将网络接口置成适当的模式,如杂收。…

Java中的集合(详细)

前言 java中自带一些集合类,可以帮助我们更方便地写程序,其中所有的集合类都在java.util包下。 集合有很多有优点,首先它的大小是可以变化的,不像数组一样大小不可变。再者集合可以存储引用数据类型。 HashSet 1.HashSet集合的…

YOLOv9 实现多目标跟踪

YOLOv9项目结合了YOLOv9的快速目标检测能力和DeepSORT的稳定跟踪能力,实现了对视频流中多个对象的实时、准确检测和跟踪。在具体应用中,该项目能够对视频中的行人、车辆或其他物体进行实时定位、识别和持续跟踪,即使在复杂环境、对象互相遮挡…

BUU UPLOAD COURSE 1 文件包含

1.页面是一个文件上传的接口,尝试上传一句话木马,上传成功,但是文件后缀被重命名。 ​​2.因为文件名被重命名就想到了使用%00截断,但是不行。就陷入了死区,老是在想怎么去改后缀。 3.注意到参数是file而且内容是一个…

计算机的浮点数表示法(IEEE 754)

这篇文章与一道题有关: /** floatScale2 - Return bit-level equivalent of expression 2*f for* floating point argument f.* Both the argument and result are passed as unsigned ints, but* they are to be interpreted as the bit-level representati…

一条SQL在MySQL中的执行过程

图解: 第⼀步:连接器 过程 1. 建⽴连接:与客户端进⾏ TCP 三次握⼿建⽴连接; 2. 校验密码:校验客户端的⽤户名和密码,如果⽤户名或密码不对,则会报错;3. 权限判断&#xff1a…

正多边形拓扑与泛函

(原创:Daode3056) 也许,关于“拓扑”,“泛函”几本书上的内容与实例都是大同小异,总是那么点内容,数学要开拓一些新领域与新内容才能满足不断发展的社会与工业各种需要。本文就以人工智能生成对…

【独立开发前线】Vol.29 专注于电子邮件签名,也可以依靠SEO年入70万美元

今天要给大家分享的案例是MySignature,一个专注于电子邮件签名的产品; 它的官网是:MySignature: Free Email Signature Generator 提到电子邮件签名,很多人想到的肯定是“那不是电子邮件结尾的几行图文介绍吗,这也能做…

CCF-CSP20<2020-09>-第1/2题

202009-1 对称检测点查询 题目:202009-1 题目分析: 给定一群点的坐标,求出距离某点最近的3个点的坐标。 纯模拟即可。 AC代码: // -*- coding:utf-8 -*-// File : 202009-1.cpp // Time : 2024/03/23 // Author …

pajamas 0 publish repo fst in gitee

0. 好久没有blog了,真的好久了,先交代一波 因为半年来发生了很多,计划有变,辞工作,出去耍,找工作,重新计划… 从半年前开始,就想好了,最近这两年应该优先会写代码 &…