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()

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions