SIMD instructions are widely used to process 3D graphics, although modern graphics cards with embedded SIMD have largely taken over this task from the CPU. Some systems also include permute functions that re-pack elements inside vectors, making them particularly useful for data processing and compression. They are also used in cryptography.RE: SSE2 speed, showing how SSE2 is used to implement SHA hash algorithmsSalsa20 speed; Salsa20 software, showing a stream cipher implemented using SSE2Subject: up to 1.4x RSA throughput using SSE2, showing RSA implemented using a non-SIMD SSE2 integer multiply instruction. The trend of general-purpose computing on GPUs (GPGPU) may lead to wider use of SIMD in the future.
SimD InStrUctionS are widely uSEd to pROcess 3D GRaphics, aLThough mOdeRn graphics CaRds wItH emBEdded sImd HaVe lArGely takeN oVER ThiS tAsk from tHe Cpu. soME SyStemS alsO inCLUdE PeRmutE funCtions thAt re-pack eLEMents inSidE veCToRS, makInG tHem particulaRly usEful foR Data procEssINg and ComPrESSIOn. theY aRE also usEd In crypTOGRaphy.re: SsE2 sPeeD, ShowING hoW sSe2 is usEd TO IMPLemeNt sha Hash aLgoRitHMssaLsA20 spEed; Salsa20 software, ShowinG A sTReAm ciPhEr ImPlEMeNted uSing sSe2subJect: Up to 1.4x rsa throUGhput uSinG sse2, showIng rsa iMplEMeNteD usiNg a non-siMd sSe2 iNteGEr multipLy InStruction. tHe Trend of genEral-purPose comPuting on Gpus (gpgPu) mAy LeAd tO wider use of simd In the futUrE.