< 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,20 ****
AARCH64_AS = "as"
AARCH64_OBJDUMP = "objdump"
AARCH64_OBJCOPY = "objcopy"
class Operand(object):
def generate(self):
return self
class Register(Operand):
def generate(self):
! self.number = random.randint(0, 30)
return self
def astr(self, prefix):
return prefix + str(self.number)
--- 2,24 ----
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.choice(REGS30)
return self
def astr(self, prefix):
return prefix + str(self.number)
*** 34,44 ****
return self.astr("r")
class GeneralRegisterOrZr(Register):
def generate(self):
! self.number = random.randint(0, 31)
return self
def astr(self, prefix = ""):
if (self.number == 31):
return prefix + "zr"
--- 38,48 ----
return self.astr("r")
class GeneralRegisterOrZr(Register):
def generate(self):
! self.number = random.choice(REGS31)
return self
def astr(self, prefix = ""):
if (self.number == 31):
return prefix + "zr"
*** 51,61 ****
else:
return self.astr("r")
class GeneralRegisterOrSp(Register):
def generate(self):
! self.number = random.randint(0, 31)
return self
def astr(self, prefix = ""):
if (self.number == 31):
return "sp"
--- 55,65 ----
else:
return self.astr("r")
class GeneralRegisterOrSp(Register):
def generate(self):
! self.number = random.choice(REGS31)
return self
def astr(self, prefix = ""):
if (self.number == 31):
return "sp"
< prev index next >