SSE-интринсики!

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

SSE-интринсики!

Сообщение runewalsh » 24.09.2020 20:46:17

А вы знали, что где-то в недрах Free Pascal есть SSE-интринсики? Я прифигел. Они не «включены» (соответствующий инклюд — rtl/i386/cpummprocs.inc — закомментирован в rtl/i386/cpuh.inc, а потому не попадает в systemh.inc, то есть в сам модуль System), но вроде как работают, если скопипастить себе internproc-объявления вручную. Для примера я переобъявил
Код: Выделить всё
function _movups(r1: pointer): __m128; [internproc: fpc_in_x86_movups];
function _maxps(r0, r1: __m128): __m128; [internproc: fpc_in_x86_maxps];
procedure _movups(r0: pointer; r1: __m128); [internproc: fpc_in_x86_movups_to_mem];

Ну кому тут ускорение векторного кода в ДЕСЯТЬ раз, до которого компилятор в жизни не дотумкает?
Untitled-2.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: SSE-интринсики!

Сообщение Cheb » 27.09.2020 05:26:16

:shock:
А я всегда asm для этого использовал (для тех полутора тестов, которые сделал)
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: SSE-интринсики!

Сообщение Mirage » 29.09.2020 17:35:29

Они вроде как в процессе допилки. Потому не включены пока.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: SSE-интринсики!

Сообщение runewalsh » 29.09.2020 18:03:26

Мэ, да, я уже заметил, что они регистры распределяют приблизительно никак, а порой и вовсе падают: я попытался записать сложное выражение и оно скомпилировалось в работу с xmm0, xmm1 и спиллами каждого промежуточного чиха в память вместо использования остальных 6 (x86-32) / 14 регистров. Что ж, БУДУ ЖДАТЬ (или выучу ассемблер).
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

Рейтинг@Mail.ru