dotnet/runtime
GitHub で見るThe `emitDispIns` logic in `emitxarch.h` could use some cleanup
Open
#11,631 opened on 2018年12月7日
area-CodeGen-coreclrhelp wanted
Repository metrics
- Stars
- (17,886 stars)
- PR merge metrics
- (平均マージ 12d 11h) (30d で 661 merged PRs)
説明
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