( uid_6201 | 2023. 03. 26., v – 23:11 )

MMX nem véletlenül mostoha. Amióta a Pentium III-nál megjelent az SSE, az mégiscsak értelmesebben használható mind szélességben (adatpárhuzamosításban) mind képességben.
Kb. ekkorra ébredtek a szoftverfejlesztők, hogy lehet ezzel jelentős számítási tempót kinyerni. Innentől az MMX csak velünk maradt "kompatibilis mód", az SSE lett az elterjedt.
Azért ez is szép malőr: https://hu.wikipedia.org/wiki/Pentium_III#Pentium_III_%C3%A9s_az_SSE

Én még később ébredtem, már az AVX és ARM NEON korban, mert rácuppantam a digitalizált rádiófrekvencia feldolgozás témájára és valahogy gyorsítanom kellett a matekot, hát megtanultam ezt a CPU képességet használni.

Illetve egy szoftver, amely forráskódjára már az ezredforduló előtt felfigyeltem, mi mindenre kihegyezték: https://sourceforge.net/projects/mpg123/files/mpg123/
Itt látsz olyat, hogy

mpg123-1.31.3/src/libmpg123/dct64_mmx.S
mpg123-1.31.3/src/libmpg123/tabinit_mmx.S
mpg123-1.31.3/src/libmpg123/synth_mmx.S

Na ez MMX adatvektorral párhuzamosít.
Egyébként a másik nagy durranás a gcc-4.9 verziótól belépő autovektorizáció volt. Igen jól ráismer azóta a GCC (és CLANG) is, hogy hol használhat vektor regisztert. De ez 2016-ban jelent meg.