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

i#5070: AArch64 decode: add operand constraint mask type: +

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge i5070-fix-aarch64-inst-clashes into master Sep 15, 2021
  • Overview 4
  • Commits 3
  • Pipelines 0
  • Changes 6

Created by: joshua-warburton

Previous patches to deal with operand/opcode overlaps (#5071, #5082, #5091) did not handle cases in which an opcode matches the operand value. In such cases decode logic generated by codec.py could not distinguish between input encodings of different opcodes.

This patch adds the + character to operand masks which requires that at least one of the bits in masks marked + must be set for that instruction to be considered matching.

An example is the following where bits 19->22 are 0000 for fmov but cannot be 0000 for fcvtzs as specified by the ISA:

0x00111100000xxx111111xxxxxxxxxx fmov dq0 : fpimm8 h_sz 0x0011110xxxxxxx111111xxxxxxxxxx fcvtzs dq0 : dq5 bhsd_immh_sz immhb_fxp

For which the immh:immb operand mask is now: ---------++++xxx---------------- immhb_fxp

Issues: #5070 (closed), #2626

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i5070-fix-aarch64-inst-clashes