소스 검색

+ added comment on movsd hack

git-svn-id: trunk@23031 -
florian 12 년 전
부모
커밋
ab1815273c
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      compiler/x86/rax86att.pas

+ 5 - 2
compiler/x86/rax86att.pas

@@ -882,8 +882,11 @@ Implementation
                 begin
                   actopcode:=tasmop(PtrUInt(iasmops.Find(copy(s,1,len))));
 
-                  if (actopcode = A_NONE) and
-                     (upper(s) = 'MOVSD') then actopcode := A_MOVSD;
+                  { movsd needs special handling because it has two namings in at&t syntax (movsl for string handling and
+                    movsd for the sse instruction) while only one in intel syntax (movsd, both string and sse)
+                    this cannot be expressed by the instruction table format so we have to hack around this here }
+                  if (actopcode = A_NONE) and (upper(s) = 'MOVSD') then
+                    actopcode := A_MOVSD;
 
                   { two-letter suffix is allowed by just a few instructions (movsx,movzx),
                     and it is always required whenever allowed }