А вы знали, что где-то в недрах 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
У вас нет необходимых прав для просмотра вложений в этом сообщении.