mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-12 06:31:14 +00:00
00fe38ddac
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 llvm-svn: 292352
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
|