< prev index next >

src/hotspot/cpu/aarch64/aarch64-asmtest.py

Print this page
rev 60623 : 8248500: AArch64: Remove the r18 dependency on Windows AArch64
Reviewed-by:
Contributed-by: mbeckwit, luhenry, burban
rev 60624 : 8248500: AArch64: Remove the r18 dependency on Windows AArch64 (regenerate tests)
Reviewed-by:
Contributed-by: mbeckwit, luhenry, burban

@@ -2,19 +2,23 @@
 
 AARCH64_AS = "as"
 AARCH64_OBJDUMP = "objdump"
 AARCH64_OBJCOPY = "objcopy"
 
+# r18 is used for TLS on Windows ABI.
+REGS30 = [reg for reg in range(0,30) if reg != 18]
+REGS31 = REGS30 + [31]
+
 class Operand(object):
 
      def generate(self):
         return self
 
 class Register(Operand):
 
     def generate(self):
-        self.number = random.randint(0, 30)
+        self.number = random.choice(REGS30)
         return self
 
     def astr(self, prefix):
         return prefix + str(self.number)
 

@@ -34,11 +38,11 @@
         return self.astr("r")
 
 class GeneralRegisterOrZr(Register):
 
     def generate(self):
-        self.number = random.randint(0, 31)
+        self.number = random.choice(REGS31)
         return self
 
     def astr(self, prefix = ""):
         if (self.number == 31):
             return prefix + "zr"

@@ -51,11 +55,11 @@
         else:
             return self.astr("r")
 
 class GeneralRegisterOrSp(Register):
     def generate(self):
-        self.number = random.randint(0, 31)
+        self.number = random.choice(REGS31)
         return self
 
     def astr(self, prefix = ""):
         if (self.number == 31):
             return "sp"
< prev index next >