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

AArch64: V28 register mismangled as the stolen X28 register #3176

Open
zhoubot opened this issue Sep 19, 2018 · 1 comment
Open

AArch64: V28 register mismangled as the stolen X28 register #3176

zhoubot opened this issue Sep 19, 2018 · 1 comment

Comments

@zhoubot
Copy link

zhoubot commented Sep 19, 2018

It seems the instr_uses_reg(instr, dr_reg_stolen) is not returning the correct result for instructions that use SIMD registers. Presumably there is a bug in the decoder.

As a result, I've found the unessessary mangles in the DynamoRIO AArch64 7.0.0-RC1 release:

      fmov d28, d12

is manged to

      str    x1, [x28,#8]     
      mov    x1, x28          
      ldr    x28, [x28,#48]   
      fmov   d28, d12         
      str    x28, [x1,#48]    
      mov    x28, x1          
      ldr    x1, [x28,#8] 
@fhahn
Copy link
Contributor

fhahn commented Sep 20, 2018

Can you provide more details of the build you are using, ideally the commit it is based on? Currently the AARch64 decoder is incomplete, and I think for instructions we do not support, we add both the FP and scalar registers with the corresponding number to the operand lists. But fmov decoder support has been added a few months ago.

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

No branches or pull requests

2 participants