Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !5234

i#4532: Remove superfluous non-operands from AArch64 memory instructions

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge i4532-remove-redundant-aarch64-operands into master Nov 30, 2021
  • Overview 10
  • Commits 6
  • Pipelines 0
  • Changes 7

Created by: joshua-warburton

Several AArch64 memory related instructions have various bits designated as "soft bits." This means that the spec suggests a value of 1 for them, but it is allowed for the bits to vary from that.

Previously these bits were represented as operands, but that caused stray values to show up in the IR. This change introduces a way to represent soft bits in codec.txt which tells the decoder to ignore them and the encoder to set them to be 1.

This change also updates the encoding macros to remove the unnecessary operands and updates the appropriate tests. The decode tests have been modified to allow the re-encoding to differ from the original encoding. This is because the soft bits can be values not strictly dictated by the spec but as we will always re-encode to spec, the re-encoding will be different to the initial encoding.

Fixes: #4532 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i4532-remove-redundant-aarch64-operands