스트리밍 SIMD 확장: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
잔글 →‎예
53번째 줄:
==예==
다음 예는 SSE의 장점을 보여준다. 컴퓨터 그래픽등에서 아주 자주 사용하는 명령어인 벡터 더하기를 보자. 두개의 단밀도를 더하기 위해서는 x87를 사용하는 4개의 구성요소 벡터가 4개의 부동소수점 더하기 명령어가 필요하다.
<source lang="c">
 
vec_res.x = v1.x + v2.x;<br />
vec_res.y = v1.y + v2.y;<br />
vec_res.z = v1.z + v2.z;<br />
vec_res.w = v1.w + v2.w;<br />
</source>
 
이것은 오브젝트코드에서 4개의 x87 FADD명령어에 해당한다. 반면에 다음 수도 코드(pseudo-code)에서는 하나의 128비트 ‘packed-add’ 명령어가 4개의 스칼라 더하기 명령어를 대체한다.
<source lang="asm">
 
movaps xmm0,address-of-v1 ;xmm0=v1.w | v1.z | v1.y | v1.x <br />
addps xmm0,address-of-v2 ;xmm0=v1.w+v2.w | v1.z+v2.z | v1.y+v2.y | v1.x+v2.x
movaps address-of-vec_res,xmm0 <br />
</source>
 
== 뒤에 나온 버전 ==