dotnet/runtime
Ver no GitHubThe `emitDispIns` logic in `emitxarch.h` could use some cleanup
Open
#11.631 aberto em 7 de dez. de 2018
area-CodeGen-coreclrhelp wanted
Métricas do repositório
- Stars
- (17.886 stars)
- Métricas de merge de PR
- (Mesclagem média 12d 11h) (661 fundiu PRs em 30d)
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