Skip to content

AArch64: Allow switching from non-indexed to indexed memory operations #401

Description

@mkannwischer

In the AArch64 model for various non-indexed memory operations, we assume that the offset address fixup does not introduce an offset through:

    def write(self):
        # For now, assert that no fixup has happened
        # Eventually, this instruction should be merged
        # into the LDP with increment.
        assert self.pre_index is None
        return super().write()

We should instead switch to the indexed variants in that case:

    def write(self):
        if int(self.pre_index) != 0:
            self.immediate = simplify(self.pre_index)
            self.pattern = str_with_imm.ldrb # or `w_ldrb_imm` when renamed
        return super().write()

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions