-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Support breakpoints on AVX-512 instructions #89705
Support breakpoints on AVX-512 instructions #89705
Conversation
Tagging subscribers to this area: @tommcdon Issue Detailsnull
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Detailsnull
|
Tagging subscribers to this area: @tommcdon Issue Detailsnull
|
@noahfalk @mikem8361 @hoyosjs This is ready to be reviewed. |
abd9e7a
to
958208f
Compare
Regenerate with gdb 12. Fix various bugs in the table generation, such as due to incorrect ModRM/reg escape handling, and new instructions.
Especially, removed 3DNow, XOP. Also, update README.md
Due to removing XOP instructions
958208f
to
ae4bc4c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a large change and difficult to sign off based off of code inspection, so signing based off of adhoc debugger validation.
Support AVX-512 EVEX instruction encodings in debugger patch decode. This allows setting breakpoints on EVEX encoded instructions with RIP-relative memory operands.
This is done by extending the existing table generation and usage mechanism.
In addition to the EVEX addition, various fixes were made to the non-EVEX decodings. Partially this is because the tables were regenerated using gdb 12 (compared to the original construction several years ago), which appears to have some disassembly fixes. In addition, the C# table generating code was updated to compile with the current compiler. Also, various bugs I noticed in the table generation were fixed.
Also, obsolete AMD 3DNow! and XOP instructions and encodings were removed, to avoid their complications.
Resolves #87843