summaryrefslogtreecommitdiff
path: root/test/MC/X86/x86-32.s
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2011-03-18 11:59:40 +0000
committerJoerg Sonnenberger <joerg@bec.de>2011-03-18 11:59:40 +0000
commit96622aa063435b1de085489f0e3e49b5912c22da (patch)
tree97599a87d18c63e34dba30d70900f2d9e5f34c3a /test/MC/X86/x86-32.s
parent8902ecb6826d0677c32f1fb9aac41070fee1ac7d (diff)
downloadllvm-96622aa063435b1de085489f0e3e49b5912c22da.tar.gz
llvm-96622aa063435b1de085489f0e3e49b5912c22da.tar.bz2
llvm-96622aa063435b1de085489f0e3e49b5912c22da.tar.xz
Support explicit argument forms for the X86 string instructions.
For now, only the default segments are supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127875 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/X86/x86-32.s')
-rw-r--r--test/MC/X86/x86-32.s110
1 files changed, 110 insertions, 0 deletions
diff --git a/test/MC/X86/x86-32.s b/test/MC/X86/x86-32.s
index 9dba65298c..ad9aee5ee5 100644
--- a/test/MC/X86/x86-32.s
+++ b/test/MC/X86/x86-32.s
@@ -817,6 +817,116 @@ pshufw $90, %mm4, %mm0
// CHECK: encoding: [0xe0,A]
loopnz 0
+// CHECK: outsb # encoding: [0x6e]
+// CHECK: outsb
+// CHECK: outsb
+ outsb
+ outsb %ds:(%esi), %dx
+ outsb (%esi), %dx
+
+// CHECK: outsw # encoding: [0x66,0x6f]
+// CHECK: outsw
+// CHECK: outsw
+ outsw
+ outsw %ds:(%esi), %dx
+ outsw (%esi), %dx
+
+// CHECK: outsl # encoding: [0x6f]
+// CHECK: outsl
+ outsl
+ outsl %ds:(%esi), %dx
+ outsl (%esi), %dx
+
+// CHECK: insb # encoding: [0x6c]
+// CHECK: insb
+ insb
+ insb %dx, %es:(%edi)
+
+// CHECK: insw # encoding: [0x66,0x6d]
+// CHECK: insw
+ insw
+ insw %dx, %es:(%edi)
+
+// CHECK: insl # encoding: [0x6d]
+// CHECK: insl
+ insl
+ insl %dx, %es:(%edi)
+
+// CHECK: movsb # encoding: [0xa4]
+// CHECK: movsb
+// CHECK: movsb
+ movsb
+ movsb %ds:(%esi), %es:(%edi)
+ movsb (%esi), %es:(%edi)
+
+// CHECK: movsw # encoding: [0x66,0xa5]
+// CHECK: movsw
+// CHECK: movsw
+ movsw
+ movsw %ds:(%esi), %es:(%edi)
+ movsw (%esi), %es:(%edi)
+
+// CHECK: movsl # encoding: [0xa5]
+// CHECK: movsl
+// CHECK: movsl
+ movsl
+ movsl %ds:(%esi), %es:(%edi)
+ movsl (%esi), %es:(%edi)
+
+// CHECK: lodsb # encoding: [0xac]
+// CHECK: lodsb
+// CHECK: lodsb
+// CHECK: lodsb
+// CHECK: lodsb
+ lodsb
+ lodsb %ds:(%esi), %al
+ lodsb (%esi), %al
+ lods %ds:(%esi), %al
+ lods (%esi), %al
+
+// CHECK: lodsw # encoding: [0x66,0xad]
+// CHECK: lodsw
+// CHECK: lodsw
+// CHECK: lodsw
+// CHECK: lodsw
+ lodsw
+ lodsw %ds:(%esi), %ax
+ lodsw (%esi), %ax
+ lods %ds:(%esi), %ax
+ lods (%esi), %ax
+
+// CHECK: lodsl # encoding: [0xad]
+// CHECK: lodsl
+// CHECK: lodsl
+// CHECK: lodsl
+// CHECK: lodsl
+ lodsl
+ lodsl %ds:(%esi), %eax
+ lodsl (%esi), %eax
+ lods %ds:(%esi), %eax
+ lods (%esi), %eax
+
+// CHECK: stosb # encoding: [0xaa]
+// CHECK: stosb
+// CHECK: stosb
+ stosb
+ stosb %al, %es:(%edi)
+ stos %al, %es:(%edi)
+
+// CHECK: stosw # encoding: [0x66,0xab]
+// CHECK: stosw
+// CHECK: stosw
+ stosw
+ stosw %ax, %es:(%edi)
+ stos %ax, %es:(%edi)
+
+// CHECK: stosl # encoding: [0xab]
+// CHECK: stosl
+// CHECK: stosl
+ stosl
+ stosl %eax, %es:(%edi)
+ stos %eax, %es:(%edi)
+
// CHECK: strw
// CHECK: encoding: [0x66,0x0f,0x00,0xc8]
str %ax