( persicsb | 2022. 05. 17., k – 12:00 )

Szerintem azért nem fog tudni ezen mit optimalizálni, mert nem csak aritmetikát végzel, hanem lookupot is - az, hogy mivel töltse fel a regisztert, az a ciklusban dinamikusan változik. Hiszen a sip->sip_offset, amit lookupra használsz, a ciklus lefutásában számítódik ki. Lehet, hogy ez konstans érték mindig, de semmi nem garantálja. Én unrollolnám ezeket a sip struktúra elemeket lokális változókba. De valószínűleg így sem fogja tudni SIMD-dé alakítani. Te kézzel át tudnád úgy alakítani a dolgot, hogy valóban egy vektoron, valóban azonos műveletet azonos operandussal végezzen minden vektorelemen a CPU? Mert itt láthatólag nem ez történik, mindegyik vektorelemen más-más operandussal kell végezni a műveletet, emiatt nem lehet SIMD-esíteni.