diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/X86/data-prefix-fail.s | 25 | ||||
| -rw-r--r-- | llvm/test/MC/X86/data-prefix16.s | 9 | ||||
| -rw-r--r-- | llvm/test/MC/X86/data-prefix32.s | 9 | ||||
| -rw-r--r-- | llvm/test/MC/X86/data-prefix64.s | 9 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-16.s | 10 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-32.s | 10 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-64.s | 6 |
7 files changed, 78 insertions, 0 deletions
diff --git a/llvm/test/MC/X86/data-prefix-fail.s b/llvm/test/MC/X86/data-prefix-fail.s new file mode 100644 index 00000000000..2b910cdc109 --- /dev/null +++ b/llvm/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 diff --git a/llvm/test/MC/X86/data-prefix16.s b/llvm/test/MC/X86/data-prefix16.s new file mode 100644 index 00000000000..d90b9dc5a93 --- /dev/null +++ b/llvm/test/MC/X86/data-prefix16.s @@ -0,0 +1,9 @@ +# RUN: llvm-mc -triple i386-unknown-unknown-code16 -filetype=obj %s -o - | llvm-objdump -triple i386-unknown-unknown-code16 -d - | FileCheck %s + +# CHECK: 66 0f 01 16 00 00 +# CHECK: lgdtl 0 +data32 lgdt 0 + +# CHECK: 66 +# CHECK: data32 +data32 diff --git a/llvm/test/MC/X86/data-prefix32.s b/llvm/test/MC/X86/data-prefix32.s new file mode 100644 index 00000000000..15a718b1a97 --- /dev/null +++ b/llvm/test/MC/X86/data-prefix32.s @@ -0,0 +1,9 @@ +# RUN: llvm-mc -triple=i386-unknown-unknown -filetype=obj %s -o - | llvm-objdump -triple=i386-unknown-unknown -d - | FileCheck %s + +# CHECK: 66 0f 01 15 00 00 00 00 +# CHECK: lgdtw 0 +data16 lgdt 0 + +# CHECK: 66 +# CHECK: data16 +data16 diff --git a/llvm/test/MC/X86/data-prefix64.s b/llvm/test/MC/X86/data-prefix64.s new file mode 100644 index 00000000000..acd0db3ec10 --- /dev/null +++ b/llvm/test/MC/X86/data-prefix64.s @@ -0,0 +1,9 @@ +# RUN: llvm-mc -triple=x86_64-unknown-unknown -filetype=obj %s -o - | llvm-objdump -triple=x86_64-unknown-unknown -d - | FileCheck %s + +# CHECK: 66 0f 01 14 25 00 00 00 00 +# CHECK: lgdtq 0 +data16 lgdt 0 + +# CHECK: 66 +# CHECK: data16 +data16 diff --git a/llvm/test/MC/X86/x86-16.s b/llvm/test/MC/X86/x86-16.s index f5669358f21..b95f66ef84d 100644 --- a/llvm/test/MC/X86/x86-16.s +++ b/llvm/test/MC/X86/x86-16.s @@ -959,3 +959,13 @@ lretw // CHECK: lretl // CHECK: encoding: [0x66,0xcb] lretl + +// CHECK: data32 +// CHECK: encoding: [0x66] +data32 + +// CHECK: data32 +// CHECK: encoding: [0x66] +// CHECK: lgdtw 4(%eax) +// CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04] +data32 lgdt 4(%eax) diff --git a/llvm/test/MC/X86/x86-32.s b/llvm/test/MC/X86/x86-32.s index 7207652a3be..c05cf41d91e 100644 --- a/llvm/test/MC/X86/x86-32.s +++ b/llvm/test/MC/X86/x86-32.s @@ -1079,3 +1079,13 @@ retw // CHECK: lretw // CHECK: encoding: [0x66,0xcb] lretw + +// CHECK: data16 +// CHECK: encoding: [0x66] +data16 + +// CHECK: data16 +// CHECK: encoding: [0x66] +// CHECK: lgdtl 4(%eax) +// CHECK: encoding: [0x0f,0x01,0x50,0x04] +data16 lgdt 4(%eax) diff --git a/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s index 1af25e5412f..89dc599e04f 100644 --- a/llvm/test/MC/X86/x86-64.s +++ b/llvm/test/MC/X86/x86-64.s @@ -1119,6 +1119,12 @@ movq %mm5, %rbx // CHECK: movd %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb] rex64 // CHECK: rex64 # encoding: [0x48] data16 // CHECK: data16 # encoding: [0x66] +// CHECK: data16 +// CHECK: encoding: [0x66] +// CHECK: lgdtq 4(%rax) +// CHECK: encoding: [0x0f,0x01,0x50,0x04] +data16 lgdt 4(%rax) + // PR8855 movq 18446744073709551615,%rbx // CHECK: movq -1, %rbx |

