ARM Neon: VPADAL для вычитания

Я использую инструкцию VPADAL.U32, чтобы значительно увеличить скорость моего кода добавления. Однако мне нужно было бы что-то вычитать с накоплением и нести (именно то, что я получил в качестве сложения).

Желаемое или реально возможное?

Из того, что я мог собрать, мне нужно было бы уменьшить мой 2-й операнд, а затем не его биты ... сделать VPADAL, а затем бит-тест для 1 и вычесть 1 из результирующего переноса (чтобы получить 0 или - 1 -- мое накопление).

Я где-то пропустил тайную технику?


person Michel Donais    schedule 22.11.2011    source источник


Ответы (1)


Вы можете использовать VPADDL, чтобы попарно суммировать слагаемые и удвоить ширину, а затем использовать VQSUB, чтобы вычесть этот член из общей суммы.

person Paul R    schedule 22.11.2011