02 Ekim 2010

Gcc ve vektör işlemleri

Bir çok modern işlemcinin multimedya işleri için sınırlı bir SIMD kapasitesi mevcut. MMX, SSE vs. isimleriyle bilinen bu ek komutların fonksiyonu özetle, tek bir komutu paralel olarak birden fazla değişkene uuygulamak. Örneğin aşağıdaki kod, 32-bitlik bir derleyiciyle aşağıdaki kodu derlerseniz, 4 adet int değişkeni, başka 4 adet int'e ekleyen bir program elde etmiş olursunuz.

Burada dikkat edilmesi gereken, vector_size parantezindeki sayı, vektördeki değişlen sayısını değil, vektörün bayt cinsinden toplam büyüklüğünü verir. Bu yüzden kodun doğru çalışması, üzerinde çalıştığınız donanıma bağlı.