在 iOS 上使用 NEON 改进代码 - 使用 VCEQ 然后 VBIT

Posted

技术标签:

【中文标题】在 iOS 上使用 NEON 改进代码 - 使用 VCEQ 然后 VBIT【英文标题】:Improve code with NEON on iOS - use VCEQ then VBIT 【发布时间】:2013-02-15 23:04:36 【问题描述】:

我正在编写一个类似直方图的函数,它查看矢量数据,然后根据元素最接近的范围将元素放入预定义的“直方图”桶中。

我显然可以使用 if 条件来做到这一点,但我正在尝试使用 NEON 来改进它,因为这些是图像缓冲区。

一种方法是先使用 VCEQ,然后使用 VBIT,但遗憾的是,我在 neon 的标题中找不到 VBIT。或者,我认为我可以获取 VCEQ 结果并使用 1 的向量进行异与运算,然后使用 VBIF :-) 但 VBIF 也不存在!

这里有什么想法吗? 谢谢

【问题讨论】:

您可以分享一个伪算法来说明您是如何做到这一点的吗? @auselen,请看***.com/questions/14926351/… 【参考方案1】:

VBITVBIFVBSL 都执行相同的操作,直到源的排列;您可以使用 vbsl* 内在函数来获取这三个操作中的任何一个。

【讨论】:

Stephen:如果您可以查看后续问题,将不胜感激:***.com/questions/14926351/…

以上是关于在 iOS 上使用 NEON 改进代码 - 使用 VCEQ 然后 VBIT的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上 NEON 代码的奇怪结果,跳转到 __ARCLite__load?

在 iOS 上使用 NEON 乘积

NEON 汇编代码,如何将 BYTE 转换为浮点数?

Eigen 3.3 中的 ARM NEON 改进

ARM Neon iOS 浮点转换

无符号字符图像上的快速高斯模糊 - ARM Neon Intrinsics - iOS Dev