Browse Source

* mm registers 16-31 are also volatile during a call

git-svn-id: trunk@47077 -
florian 4 years ago
parent
commit
ad8b2eaf8a
1 changed files with 2 additions and 2 deletions
  1. 2 2
      compiler/x86_64/cpupara.pas

+ 2 - 2
compiler/x86_64/cpupara.pas

@@ -1358,9 +1358,9 @@ unit cpupara;
     function tcpuparamanager.get_volatile_registers_mm(calloption : tproccalloption):tcpuregisterset;
       begin
         if x86_64_use_ms_abi(calloption) then
-          result:=[RS_XMM0..RS_XMM5]
+          result:=[RS_XMM0..RS_XMM5,RS_XMM16..RS_XMM31]
         else
-          result:=[RS_XMM0..RS_XMM15];
+          result:=[RS_XMM0..RS_XMM15,RS_XMM16..RS_XMM31];
       end;