Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incomplete semantics for some ARM instructions causes translation failure #8

Open
danmatichuk opened this issue Feb 6, 2020 · 0 comments
Assignees
Labels
bug Something isn't working question Further information is requested

Comments

@danmatichuk
Copy link
Collaborator

For the following instruction encodings:

  • aarch32_USAT16_A_aarch32_USAT16_A1_A_A32
  • aarch32_USAT16_A_aarch32_USAT16_T1_A_T32
  • aarch32_USAT_A_aarch32_USAT_A1_A_A32
  • aarch32_USAT_A_aarch32_USAT_T1_A_T32

The ASL specification does not have a clear semantics when sat_imm is zero. As written, the ASL code would require creating a zero-width bitvector given a sat_imm of zero, which is then zero-extended to 16 bits.

Either this is an error/unpredictable or the resulting bitvector should be entirely zeroes. Either way this should be clarified.

Currently this causes an exception during translation (which is expected/ignored) as crucible disallows creating zero-width bitvectors.

@danmatichuk danmatichuk added bug Something isn't working question Further information is requested labels Feb 6, 2020
@danmatichuk danmatichuk self-assigned this Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant