xref: /llvm-project/llvm/test/MC/X86/data-prefix-fail.s (revision 8a71284cb9463a90fab0d9e8edbeb5d879531e32)
1// RUN: not llvm-mc -triple x86_64-unknown-unknown --show-encoding %s 2> %t.err | FileCheck --check-prefix=X86-64 %s
2// RUN: FileCheck --check-prefix=ERR64 < %t.err %s
3// RUN: not llvm-mc -triple i386-unknown-unknown --show-encoding %s 2> %t.err | FileCheck --check-prefix=X86-32 %s
4// RUN: FileCheck --check-prefix=ERR32 < %t.err %s
5// RUN: not llvm-mc -triple i386-unknown-unknown-code16 --show-encoding %s 2> %t.err | FileCheck --check-prefix=X86-16 %s
6// RUN: FileCheck --check-prefix=ERR16 < %t.err %s
7
8// ERR64: error: 'data32' is not supported in 64-bit mode
9// ERR32: error: redundant data32 prefix
10// X86-16: lgdtl 0
11// X86-16-SAME: encoding: [0x66,0x0f,0x01,0x16,0x00,0x00]
12data32 lgdt 0
13
14// X86-64: data16
15// X86-64: encoding: [0x66]
16// X86-64: lgdtq 0
17// X86-64: encoding: [0x0f,0x01,0x14,0x25,0x00,0x00,0x00,0x00]
18// X86-32: data16
19// X86-32: encoding: [0x66]
20// X86-32: lgdtl 0
21// X86-32: encoding: [0x0f,0x01,0x15,0x00,0x00,0x00,0x00]
22// ERR16: error: redundant data16 prefix
23data16 lgdt 0
24
25// X86-64:      data16    # encoding: [0x66]
26// X86-64-NEXT: callq  0  # encoding: [0xe8,A,A,A,A]
27// X86-32:      data16    # encoding: [0x66]
28// X86-32-NEXT: calll  0  # encoding: [0xe8,A,A,A,A]
29// ERR16: {{.*}}.s:[[#@LINE+1]]:1: error: redundant data16 prefix
30data16 call 0
31