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)

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 09:08:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 09:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 09:08:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 09:08:02       20 阅读

热门阅读

  1. iview中input组件在只读,模式下添加必填校验

    2024-04-01 09:08:02       17 阅读
  2. 微服务优缺点?

    2024-04-01 09:08:02       15 阅读
  3. ROS2 学习(文章链接汇总)

    2024-04-01 09:08:02       18 阅读
  4. 数据仓库——聚集

    2024-04-01 09:08:02       16 阅读
  5. 2024/3/31学习总结

    2024-04-01 09:08:02       15 阅读
  6. C# 文件

    2024-04-01 09:08:02       17 阅读
  7. leetcode 316. 去除重复字母

    2024-04-01 09:08:02       14 阅读
  8. HTML 怎么解决上下标问题呢?

    2024-04-01 09:08:02       18 阅读
  9. 飞书裁员提供补偿方案或者转岗机会

    2024-04-01 09:08:02       28 阅读