Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ассемблер и ХММ / 5 сообщений из 5, страница 1 из 1
06.08.2011, 01:24
    #37383212
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ассемблер и ХММ
Доброго времени суток, All!!!

Вот, возник вопрос:
(Что-то ковыряюсь в справочнике команд x86, и никак не найду.)

Пытаюсь оптимизировать алгоритм перемножения массивов.
Перемножать в XMM регистрах не просто, а очень просто.
А вот как бы мне так побыстрее просуммировать 4 packed single из xmm1, и положить куда-нибудь, желательно в регистр, а не в память?

Заранее громадные пасипки за комменты и ответы.
...
Рейтинг: 0 / 0
06.08.2011, 05:51
    #37383261
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ассемблер и ХММ
P.S. 5-ю инструкциями, через память и я могу. Хочется обойтись 3-мя-4-мя, и по возможности, без загрузки кэша процессора.
Возможно ли это вообще?
Есть XMM регистр, надо просто просуммировать 4 single из него.
...
Рейтинг: 0 / 0
06.08.2011, 19:13
    #37383621
Esperito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ассемблер и ХММ
Сие читано?
...
Рейтинг: 0 / 0
06.08.2011, 19:39
    #37383638
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ассемблер и ХММ
Код: plaintext
1.
2.
3.
4.
movhlps xmm1, xmm0
addps   xmm0, xmm1
movaps  xmm1, xmm0
shufps  xmm0, xmm0,  1 
addps   xmm0, xmm1
5 команд без использования памяти
...
Рейтинг: 0 / 0
06.08.2011, 21:23
    #37383681
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ассемблер и ХММ
Изопропил,

О! Большой пасип, самое то!!!
P.S. Я даже погорячился, мне оказывается не обязательно делать ЭТО часто.
Оказалось, (Ну кто бы мог подумать :)) мне никто не запрещает держать в XMM регистре 4 суммы в течение кучи итераций умножения-сложения массивов. И только в конце цикла уже их суммировать между собой.
Получается вообще 8-ми ствольный пулемет. :)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ассемблер и ХММ / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]