DPPS в старой версии GCC

Привет!

Мне нужно оптимизировать код умножения матриц в c, и я делаю это с помощью векторных инструкций SSE. Я также обнаружил, что существует SSE4.1, в котором уже есть инструкция для dot-product, dpps.

Проблема в том, что на машине, которая должна работать, это программное обеспечение установлено на старой версии gcc (4.1.2), которая не поддерживает SSE4.1, но имеет поддерживающий его процессор (не спрашивайте меня, почему версия gcc старше процессора ...). Поэтому я не могу использовать функцию _mm_dp_ps.

Я немного поигрался с добавлением кода ассемблера в c. Проблема в том, что я никогда раньше не использовал код ассемблера, поэтому это действительно сбивает с толку. Также эффективнее ли писать весь код, имеющий дело с векторными инструкциями на ассемблере?

Поэтому я спрашиваю здесь, есть ли другие способы использования инструкции dpps, и стоит ли вообще его использовать?

1
задан Rok 16 October 2010 в 06:53
поделиться