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

[ARM Decoding] SIMD load instruction should be valid #223

Closed
nathanhjay opened this issue Nov 7, 2016 · 4 comments
Closed

[ARM Decoding] SIMD load instruction should be valid #223

nathanhjay opened this issue Nov 7, 2016 · 4 comments
Assignees
Labels

Comments

@nathanhjay
Copy link
Contributor

The following is an example of a SIMD load instruction that should be valid but is decoded as invalid by Dyninst.

Bytes: 84 e1 fd 4d
Expected Output: ld2r {v4.16b, v5.16b}, [x12]

@ssunny7
Copy link
Contributor

ssunny7 commented Nov 8, 2016

@nathanhjay could you check the expected output again?

According to what I'm seeing in the manual, this should be decoded as
LD4R {V4.16B, V5.16B, V6.16B, V7.16B}, [X12], X29

@nathanhjay
Copy link
Contributor Author

Oh, sorry, you're right. That issue appeared for two instructions. The correct decoding of those bytes it:
ld4r {v4.16b, v5.16b, v6.16b, v7.16b}, [x12], x29

ssunny7 added a commit that referenced this issue Nov 9, 2016
setRegWidth() need not be called for SIMD load/store instructions.
@ssunny7
Copy link
Contributor

ssunny7 commented Nov 9, 2016

Fixed by commit 08cff7b.

@nathanhjay
Copy link
Contributor Author

@ssunny7 I'll close this issue because the instruction now decodes as valid, but there is an extra operand and a few formatting issues in general. Here's that same instruction now:

Bytes: 84 e1 fd 4d
Dyninst: ld4r q4, q5, q6, q7, [x12], x29, x12
Expected: ld4r {v4.16b, v5.16b, v6.16b, v7.16b}, [x12], x29
Also Valid: ld4r {v4.16b-v7.16b}, [x12], x29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants