我一直在研究 600 系列的内在函数,hvx 没有与 x86 类似的水平总和。我一直在寻找可以让我反转寄存器内容的东西,以便我可以不断地将寄存器的反转添加到自身,直到我最终得到可以提取的正确总和。
1 回答
0
要减少 HVX 上的向量,请使用 valign / vror 的 log2 步骤和您的操作员(max/min/add/etc)
您可以使用 vdelta/vrdelta 来反转寄存器,但我认为您需要旋转。
这是一个减少两个单词向量(一个部分最小值和一个部分最大值)以获得总最小值和最大值的示例:
https://source.codeaurora.org/quic/hexagon_nn/nnlib/tree/hexagon/asm_src/vrmaxmin_h.S
于 2018-06-25T15:07:48.110 回答