-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Use the better pseudo-names where available on xarch #116923
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
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
4e28835
to
803ad5c
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.
Pull Request Overview
This PR enhances disassembly readability by using preferred pseudo-names for various x86/x64 vector comparison and carry-less multiplication instructions.
- Introduces
fltCmpOpNames
andintCmpOpNames
arrays for mapping immediates to mnemonic suffixes. - Updates
genInsDisplayName
to formatvcmp*
andvpcmp*
instructions using those pseudo-names. - Adjusts
emitDispIns
to skip printing immediates for the newly supported instructions.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
File | Description |
---|---|
instr.cpp | Added pseudo-name arrays and switch handling for VEX/EVEX instructions in genInsDisplayName . |
emitxarch.cpp | Modified PRINT_CONSTANT path to omit immediates for the new pseudo-named instructions. |
Comments suppressed due to low confidence (1)
src/coreclr/jit/instr.cpp:121
- There don't appear to be unit tests verifying that each immediate value correctly maps to its pseudo-name; consider adding tests for a few representative values (e.g., control=0, 3, 7) for each instruction to ensure coverage.
static const char* const fltCmpOpNames[] = {
803ad5c
to
844a532
Compare
844a532
to
0742ddb
Compare
CC. @dotnet/jit-contrib for review. Some minor cleanup to the xarch disasm output to make vector comparisons more readable by using the friendly pseudo-names where available. As part of that, it refactored the general logic for displaying a constant from a bunch of |
The vector comparison instructions all have preferred pseudo-names that make the disasm easier to read. We should prefer using them