Un-special-case "xchg rax,rax"; disassemble o64
commitbb72f7f111abe0e01081506caa11afdf37b95857
authorH. Peter Anvin <hpa@zytor.com>
Tue, 13 Nov 2007 06:55:27 +0000 (12 22:55 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 13 Nov 2007 06:56:07 +0000 (12 22:56 -0800)
tree8a7e6b8fdca3c24701cb95fb93ed82304b509ffa
parentfb0c90cdbeb63e08ffeaa5377b13e5c7743cec00
Un-special-case "xchg rax,rax"; disassemble o64

Un-special-case "xchg rax,rax"; allow it to be encoded as 48 90 for
orthogonality's sake.  It's a no-op, to be sure, but so are many other
instructions.

"xchg eax,eax" is still special-cased in 64-bit mode since it is not a
no-op; unadorned opcode 90 is now simply "nop" and nothing else.

Make the disassembler detect unused REX.W and display them as an "o64"
prefix.
disasm.c
insns.dat
test/nop.asm [new file with mode: 0644]