diff options
Diffstat (limited to 'test/MC/X86/data-prefix-fail.s')
-rw-r--r-- | test/MC/X86/data-prefix-fail.s | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/MC/X86/data-prefix-fail.s b/test/MC/X86/data-prefix-fail.s new file mode 100644 index 000000000000..2b910cdc1093 --- /dev/null +++ b/test/MC/X86/data-prefix-fail.s @@ -0,0 +1,25 @@ +// 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 |