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

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

0

Решение

Чтобы уменьшить вектор в 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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]