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
  • !5248

i#5245: Handle exclusive loads into the zero register

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i5245-ldstex-xzr into master Dec 13, 2021
  • Overview 10
  • Commits 2
  • Pipelines 0
  • Changes 6

Adds handling for AArch64 exclusive loads that discard a value by targeting the zero register. Without this fix, we loop forever in the store since we load the real value and compare it to the zero we recorded. Our fix is to replace the zero register with a scratch register so that we record the actual value at load time. For the same-block optimized case, we instead simply skip the value comparison check at the store.

Adds a test of every size and destination zero variant. This test spins (at multiple points) without the fix.

Fixes #5245 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i5245-ldstex-xzr