dotnet/runtime
在 GitHub 查看The `emitDispIns` logic in `emitxarch.h` could use some cleanup
Open
#11,631 建立於 2018年12月7日
area-CodeGen-coreclrhelp wanted
倉庫指標
- Star
- (17,886 star)
- PR 合併指標
- (平均合併 12天 11小時) (30 天內合併 661 個 PR)
描述
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