我需要使用neon访问256值整数类型的查找表。 有没有可能像这样访问?
如果我的矢量中的索引按顺序方式执行,或者最多256位,我将使用VTBL。 这里我的索引向量索引0到255范围中的任何一个。所以,我无法做到。
如果有人知道这件事 请帮帮我。
此致 笑容
答案 0 :(得分:1)
查看VTBX指令,它可用于扩展NEON表查找。例如:
// indices in d30, result to d31
VMOV.8 d29, #16
VTBL.8 d31, {q0, q1}, d30
VSUB.8 d30, d30, d29
VTBX.8 d31, {q2, q3}, d30
VSUB.8 d30, d30, d29
VTBX.8 d31, {q4, q5}, d30
但是,256字节的表将需要整个NEON寄存器文件,因此您必须为每个向量查找重新加载(部分)表。
答案 1 :(得分:-1)
NEON不可能。
你应该想到为什么你首先使用LUT。大多数情况下,LUT用于保存复杂数学运算,但NEON非常强大,可以轻松处理这类数学。
蛮力算术是NEON游戏的名称。你应该看看LUT是如何生成的,并在运行中与NEON进行数学运算。