mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-03 02:43:51 +00:00
3f15756092
-Assembly parser now properly check the size of the memory operation specified in intel syntax. So 'mov word ptr [5], al' is no longer accepted. -x86-32 disassembly of these instructions no longer sign extends the 32-bit address immediate based on size. -Intel syntax printing prints the ptr size and places brackets around the address immediate. Known remaining issues with these instructions: -Segment override prefix is not supported. PR16962 and PR16961. -Immediate size should be changed by address size prefix. llvm-svn: 189201
32 lines
669 B
Plaintext
32 lines
669 B
Plaintext
# RUN: llvm-mc --disassemble %s -triple=i386 --output-asm-variant=1 | FileCheck %s
|
|
|
|
# CHECK: sgdt opaque ptr [eax]
|
|
0x0f 0x01 0x00
|
|
|
|
# CHECK: sidt opaque ptr [eax]
|
|
0x0f 0x01 0x08
|
|
|
|
# CHECK: lgdt opaque ptr [eax]
|
|
0x0f 0x01 0x10
|
|
|
|
# CHECK: lidt opaque ptr [eax]
|
|
0x0f 0x01 0x18
|
|
|
|
# CHECK: mov al, byte ptr [878082192]
|
|
0xa0 0x90 0x78 0x56 0x34
|
|
|
|
# CHECK: mov ax, word ptr [878082192]
|
|
0x66 0xa1 0x90 0x78 0x56 0x34
|
|
|
|
# CHECK: mov eax, dword ptr [878082192]
|
|
0xa1 0x90 0x78 0x56 0x34
|
|
|
|
# CHECK: mov byte ptr [878082192], al
|
|
0xa2 0x90 0x78 0x56 0x34
|
|
|
|
# CHECK: mov word ptr [878082192], ax
|
|
0x66 0xa3 0x90 0x78 0x56 0x34
|
|
|
|
# CHECK: mov dword ptr [878082192], eax
|
|
0xa3 0x90 0x78 0x56 0x34
|