Summary: | arm64 unsupported instruction ldpsw | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Mark Wielaard <mark> |
Component: | vex | Assignee: | Julian Seward <jseward> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jhugo, peter.maydell |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
VEX implementation of ldpsw
tests for ldpsw Revised VEX implementation |
Description
Mark Wielaard
2016-03-11 20:36:53 UTC
Created attachment 97896 [details]
VEX implementation of ldpsw
I couldn't find a precise arm64 instruction encoding table, so needed some experimenting to see when ldp does sign extension. With some experimenting found that INSN(30,25) == BITS6(1,1,0,1,0,0) is probably the correct check. It does some sanity checking to make sure it really is an LD instruction and that X isn't set to make sure no instructions are decoded that don't make sense.
Created attachment 97897 [details]
tests for ldpsw
This groups the ldpsw tests with the ldp tests. Which causes some extra changes in later tests. Maybe the new tests should just go at the end instead?
(In reply to Mark Wielaard from comment #1) > I couldn't find a precise arm64 instruction encoding table This is all documented in the ARMv8 Architecture Reference Manual, which is available from http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.architecture.reference/index.html (you'll need to fill in a form to create an account on the webserver and there may be a click-through license of some kind). (In reply to Peter Maydell from comment #3) > (In reply to Mark Wielaard from comment #1) > > I couldn't find a precise arm64 instruction encoding table > > This is all documented in the ARMv8 Architecture Reference Manual, which is > available from > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset. > architecture.reference/index.html Thanks for the reference, but that document is behind some legal click wrap license and seems to not be usable for public reference. Created attachment 97909 [details]
Revised VEX implementation
VEX fix in r3212. Testcases added in valgrind svn r15830. *** Bug 364435 has been marked as a duplicate of this bug. *** |