Browse Source

AArch64: X18 is not a volatile register

It may be unused on some platforms, but in general it's reserved for OS library
usage (usually related to TLS)
Jonas Maebe 2 years ago
parent
commit
cd8ddffe42
1 changed files with 1 additions and 1 deletions
  1. 1 1
      compiler/aarch64/cpubase.pas

+ 1 - 1
compiler/aarch64/cpubase.pas

@@ -127,7 +127,7 @@ unit cpubase;
         {$i ra64dwa.inc}
       );
       { registers which may be destroyed by calls }
-      VOLATILE_INTREGISTERS = [RS_X0..RS_X18,RS_X30];
+      VOLATILE_INTREGISTERS = [RS_X0..RS_X17,RS_X30];
       VOLATILE_MMREGISTERS =  [RS_D0..RS_D7,RS_D16..RS_D31];
 
 {*****************************************************************************