mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-27 21:50:40 +00:00
be4bc8908b
This patch fixes bugzilla 31576 (https://llvm.org/bugs/show_bug.cgi?id=31576). "data32" instruction prefix was not defined in the llvm. An exception had to be added to the X86 tablegen and AsmPrinter because both "data16" and "data32" are encoded to 0x66 (but in different modes). Differential Revision: https://reviews.llvm.org/D28468 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292352 91177308-0d34-0410-b5e6-96231b3b80d8
26 lines
998 B
ArmAsm
26 lines
998 B
ArmAsm
// RUN: not llvm-mc -triple x86_64-unknown-unknown --show-encoding %s 2> %t.err | FileCheck --check-prefix=64 %s
|
|
// RUN: FileCheck --check-prefix=ERR64 < %t.err %s
|
|
// RUN: not llvm-mc -triple i386-unknown-unknown --show-encoding %s 2> %t.err | FileCheck --check-prefix=32 %s
|
|
// RUN: FileCheck --check-prefix=ERR32 < %t.err %s
|
|
// RUN: not llvm-mc -triple i386-unknown-unknown-code16 --show-encoding %s 2> %t.err | FileCheck --check-prefix=16 %s
|
|
// RUN: FileCheck --check-prefix=ERR16 < %t.err %s
|
|
|
|
// ERR64: error: instruction requires: 16-bit mode
|
|
// ERR32: error: instruction requires: 16-bit mode
|
|
// 16: data32
|
|
// 16: encoding: [0x66]
|
|
// 16: lgdtw 0
|
|
// 16: encoding: [0x0f,0x01,0x16,0x00,0x00]
|
|
data32 lgdt 0
|
|
|
|
// 64: data16
|
|
// 64: encoding: [0x66]
|
|
// 64: lgdtq 0
|
|
// 64: encoding: [0x0f,0x01,0x14,0x25,0x00,0x00,0x00,0x00]
|
|
// 32: data16
|
|
// 32: encoding: [0x66]
|
|
// 32: lgdtl 0
|
|
// 32: encoding: [0x0f,0x01,0x15,0x00,0x00,0x00,0x00]
|
|
// ERR16: error: instruction requires: Not 16-bit mode
|
|
data16 lgdt 0
|