Какой самый быстрый способ выполнения горизонтальной суммы на word32 для процессоров qualcomm hexagon 600 - PullRequest
0 голосов
/ 24 июня 2018

Я смотрел на встроенную для серии 600, и нет горизонтальной суммы встроенной для hvx, подобной той, что была на x86. Я искал что-то, что позволило бы мне изменить содержимое регистра, чтобы я мог непрерывно добавлять реверс регистра к себе, пока не получу правильную сумму, которую я могу извлечь.

1 Ответ

0 голосов
/ 25 июня 2018

Чтобы уменьшить вектор в HVX, используйте log2 шаги valign / vror и вашего оператора (max / min / add / etc)

Вы можете использовать vdelta / vrdelta, чтобы инвертировать регистр, но я думаю, что вывместо этого нужно вращение.

Вот пример сокращения двух векторов слов (один частичный минимум и один частичный максимум), чтобы получить общее минимальное и максимальное значения:

https://source.codeaurora.org/quic/hexagon_nn/nnlib/tree/hexagon/asm_src/vrmaxmin_h.S

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...