reprospect.test.sass.instruction.address module
- class reprospect.test.sass.instruction.address.AddressMatcher(*, arch: NVIDIAArch, memory: MemorySpace = MemorySpace.GENERIC, reg: str | None = None, offset: str | None = None, desc_ureg: str | None = None, stride: StrideModifier | None = None)View on GitHub
Bases:
objectMatcher for an address.
- __init__(*, arch: NVIDIAArch, memory: MemorySpace = MemorySpace.GENERIC, reg: str | None = None, offset: str | None = None, desc_ureg: str | None = None, stride: StrideModifier | None = None) None
Method generated by attrs for class AddressMatcher.
- arch: NVIDIAArch
- classmethod build_desc_reg64_address(*, arch: NVIDIAArch, reg: str | None = None, offset: str | None = None, desc_ureg: str | None = None, captured: bool = False) strView on GitHub
Address operand with cache policy descriptor, such as:
desc[UR0][R0.64+0x10]
- classmethod build_generic_or_global_address(*, arch: NVIDIAArch, reg: str | None = None, offset: str | None = None, desc_ureg: str | None = None, captured: bool = False) strView on GitHub
Generic or global memory address operand.
- classmethod build_local_address(*, arch: NVIDIAArch, reg: str | None = None, offset: str | None = None, captured: bool = False) strView on GitHub
Local memory address operand.
- classmethod build_pattern(*, arch: NVIDIAArch, memory: MemorySpace = MemorySpace.GENERIC, reg: str | None = None, offset: str | None = None, desc_ureg: str | None = None, stride: StrideModifier | None = None, captured: bool = False) strView on GitHub
- classmethod build_pattern_desc_ureg(*, desc_ureg: str | None = None, captured: bool = True) strView on GitHub
- classmethod build_pattern_offset(*, arch: NVIDIAArch, offset: str | None = None, captured: bool = True) strView on GitHub
- classmethod build_pattern_reg(*, arch: NVIDIAArch, reg: str | None = None, captured: bool = True) strView on GitHub
- classmethod build_pattern_stride(*, stride: StrideModifier | None = None, captured: bool = True) strView on GitHub
- classmethod build_reg64_address(*, arch: NVIDIAArch, reg: str | None = None, offset: str | None = None, captured: bool = False) strView on GitHub
Address operand with
.64modifier appended to the register, such as:[R1.64] [R2.64+0x10] [R14.64+UR6]
- classmethod build_reg_address(*, arch: NVIDIAArch, reg: str | None = None, offset: str | None = None, captured: bool = False) strView on GitHub
Basic address operand, such as:
[R4] [R2+0x10]
- classmethod build_reg_stride_address(*, arch: NVIDIAArch, reg: str | None = None, offset: str | None = None, stride: StrideModifier | None = None, captured: bool = False) strView on GitHub
Address operand with stride modifier, such as:
[R49.X16] [R2.X8+0x10]
As of
reprospect.tools.architecture.NVIDIAFamily.HOPPER, it may be:[R32+UR10+0x1c0]
Shared memory address operand.
- match(address: str) GenericOrGlobalAddressMatch | SharedAddressMatch | LocalAddressMatch | NoneView on GitHub
- memory: MemorySpace
- stride: StrideModifier | None
- class reprospect.test.sass.instruction.address.GenericOrGlobalAddressMatch(reg: str, offset: str | None = None, desc_ureg: str | None = None)View on GitHub
Bases:
objectGeneric or global address operand, such as:
desc[UR42][R8+0xf1]
- desc_ureg: str | None
reprospect.tools.sass.decode.RegisterType.UGPRfrom cache policy descriptor.
- classmethod parse(bits: Match[str]) GenericOrGlobalAddressMatchView on GitHub
- class reprospect.test.sass.instruction.address.LocalAddressMatch(reg: str, offset: str | None = None)View on GitHub
Bases:
objectLocal address operand, such as:
[R47]
- classmethod parse(bits: Match[str]) SelfView on GitHub
- reprospect.test.sass.instruction.address.MODIFIER_STRIDE: Final[str] = 'X(?:4|8|16)'
Stride modifier.
Bases:
objectShared address operand, such as:
[R25.X8+0x800] [0x10]