2011-12-29 6 views

답변

10

, movaps, 또는

movaps xmm3, xmm0 

movdqa 그들은 모두 같은 일을하지만, 캐치가있다 :

  • movapdmovaps는 부동 소수점 도메인에서 운영하고 있습니다.
  • movdqa는 정수 도메인

를 사용하여 도메인 변경 노점을 피하기 위해 데이터 형식에 따라 적절한 하나에서 작동합니다.

또한 movapd을 사용할 이유가 없습니다. movapd이 인코딩 할 때 여분의 바이트를 사용하므로 항상 movaps을 사용하십시오.

+1

movdqa는 내가 찾고 있던 것입니다 :) 감사합니다. 그건 빨리 :) PS. 부동 소수점 이동은 실제로 정수와 어떻게 다릅니 까? 나에게 모두 간단한 복사해야합니다 ... – lampak

+4

인텔 프로세서에 별도의 FP 및 정수 단위가 있습니다. 한 단위에있는 명령을 실행하면 값이 해당 단위로 이동합니다. 그러나 다른 도메인에서 그 값으로 명령을 내리면 1-2 단위 패널티로 새 단위로 이동해야합니다. 따라서 가능한 경우 도메인에 값을 유지하는 것이 가장 좋습니다. 따라서 다른 'mov'지침이있는 이유는 무엇입니까? 만약 정수 연산을하고'movaps'를 사용한다면, 그 값을 FP 유닛으로 옮기기 위해서 페널티를 지불 할 것이고, 다음 정수 명령으로 되돌릴 때 다른 페널티를 돌려 줄 것입니다. – Mysticial

+1

'por','orps' 및'orpd'와 같은 논리 연산자에도 동일하게 적용됩니다. – Mysticial

관련 문제