Skip to content

[x86 disassembler] arpl should not be possible with 64-bit target #11072

Closed
@llvmbot

Description

@llvmbot
Bugzilla Link 10700
Resolution FIXED
Resolved on Mar 01, 2012 12:25
Version trunk
OS All
Blocks llvm/llvm-bugzilla-archive#10988
Reporter LLVM Bugzilla Contributor
CC @topperc,@efriedma-quic

Extended Description

From the "Intel® 64 and IA-32 Architectures Software Developer’s Manual
Volume 2 (2A & 2B): Instruction Set Reference, A-Z", p. 3-75:
ARPL—Adjust RPL Field of Segment Selector
63 /r
"This instruction executes as described in compatibility mode and legacy mode. It is not encodable in 64-bit mode."

P. 3-730 shows the encoding in 64-bit mode:
MOVSX/MOVSXD—Move with Sign-Extension
REX.W** + 63 /r

With llvm-mc built from trunk revision 135913:
$ echo '0x63 0xc0'| ./llvm-mc -disassemble -triple="x86_64"
arpl %ax, %ax

With the 64-bit target set, this should have disassembled as 'movsx'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions