dotnet/runtime
Voir sur GitHubThe `emitDispIns` logic in `emitxarch.h` could use some cleanup
Open
#11 631 ouverte le 7 déc. 2018
area-CodeGen-coreclrhelp wanted
Métriques du dépôt
- Stars
- (17 886 stars)
- Métriques de merge PR
- (Merge moyen 12j 11h) (661 PRs mergées en 30 j)
Description
As discussed in https://github.com/dotnet/coreclr/pull/21432 (and mentioned in various other issues), there are several cases where emitDispIns prints the wrong information.
Some examples of this are:
- It prints
movdinstead ofmovqwhen the integer operand is anEA_8BYTE - It prints
xraxinstead ofraxoreaxfor certain instructions that take both a floating-point and integer-register - It prints exclusively
ymmorxmmfor certain instructions that take bothTYP_SIMD16andTYP_SIMD32(or a mix of both)
There are also some other issues scattered about given that the handling is often done on a "per instruction format" case.
We should investigate cleaning up this function to improve the logic and to ensure that it accurately prints the disassembly
category:implementation theme:debug-dumps skill-level:beginner cost:small impact:small