Bug 22664 – Disassembler mistakes rdtscp for invlpg ECX

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2022-01-11T00:11:31Z
Last change time
2022-05-21T06:50:30Z
Keywords
disassembler, pull
Assigned to
No Owner
Creator
mhh

Comments

Comment #0 by maxhaton — 2022-01-11T00:11:31Z
dmd vasm gives ``` simpleLoop: 0000: 0F 01 F9 invlpg ECX ``` GNU objdump gives ``` 0000000000000000 <simpleLoop>: 0: 0f 01 f9 rdtscp ... ``` Note that this is the wrong type of operand for invlpg too (should be an mm64), luckily however when the instruction is decoded as a true positive (i.e. the source bytes really are a invlpg) the correct operand is given.
Comment #1 by dlang-bot — 2022-05-21T00:53:55Z
@maxhaton created dlang/dmd pull request #14153 "Fix Issue 22664 - -vasm doesn't recognize rdtscp" fixing this issue: - Fix Issue 22664 - -vasm doesn't recognize rdtscp https://github.com/dlang/dmd/pull/14153
Comment #2 by dlang-bot — 2022-05-21T06:50:30Z
dlang/dmd pull request #14153 "Fix Issue 22664 - -vasm doesn't recognize rdtscp" was merged into master: - fa2baf85c86e02834836982d14eadf52cd4bf0b7 by mhh: Fix Issue 22664 - -vasm doesn't recognize rdtscp https://github.com/dlang/dmd/pull/14153