mirror of
https://github.com/RRZE-HPC/OSACA.git
synced 2025-12-16 00:50:06 +01:00
bugfixes
This commit is contained in:
@@ -406,7 +406,10 @@ class ParserX86ATT(BaseParser):
|
||||
|
||||
def is_basic_gpr(self, register):
|
||||
"""Check if register is a basic general purpose register (ebi, rax, ...)"""
|
||||
if any(char.isdigit() for char in register['name']):
|
||||
if (
|
||||
any(char.isdigit() for char in register['name'])
|
||||
or any(register['name'].lower().startswith(x) for x in ['mm', 'xmm', 'ymm', 'zmm'])
|
||||
):
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -414,10 +417,8 @@ class ParserX86ATT(BaseParser):
|
||||
"""Check if register is a general purpose register"""
|
||||
if register is None:
|
||||
return False
|
||||
|
||||
if self.is_basic_gpr(register):
|
||||
return True
|
||||
|
||||
return re.match(r'R([0-9]+)[DWB]?', register['name'], re.IGNORECASE)
|
||||
|
||||
def is_vector_register(self, register):
|
||||
@@ -429,7 +430,7 @@ class ParserX86ATT(BaseParser):
|
||||
return False
|
||||
|
||||
def get_reg_type(self, register):
|
||||
"""Ger register type"""
|
||||
"""Get register type"""
|
||||
if register is None:
|
||||
return False
|
||||
if self.is_gpr(register):
|
||||
|
||||
@@ -187,8 +187,8 @@ class MachineModel(object):
|
||||
"""Return load thorughput for given register type."""
|
||||
ld_tp = [m for m in self._data['load_throughput'] if self._match_mem_entries(memory, m)]
|
||||
if len(ld_tp) > 0:
|
||||
return ld_tp[0]['port_pressure']
|
||||
return self._data['load_throughput_default']
|
||||
return ld_tp[0]['port_pressure'].copy()
|
||||
return self._data['load_throughput_default'].copy()
|
||||
|
||||
def get_store_latency(self, reg_type):
|
||||
"""Return store latency for given register type."""
|
||||
@@ -199,8 +199,8 @@ class MachineModel(object):
|
||||
"""Return store throughput for given register type."""
|
||||
st_tp = [m for m in self._data['store_throughput'] if self._match_mem_entries(memory, m)]
|
||||
if len(st_tp) > 0:
|
||||
return st_tp[0]['port_pressure']
|
||||
return self._data['store_throughput_default']
|
||||
return st_tp[0]['port_pressure'].copy()
|
||||
return self._data['store_throughput_default'].copy()
|
||||
|
||||
def _match_mem_entries(self, mem, i_mem):
|
||||
"""Check if memory addressing ``mem`` and ``i_mem`` are of the same type."""
|
||||
|
||||
Reference in New Issue
Block a user