diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2011-03-18 11:59:40 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2011-03-18 11:59:40 +0000 |
commit | 96622aa063435b1de085489f0e3e49b5912c22da (patch) | |
tree | 97599a87d18c63e34dba30d70900f2d9e5f34c3a /test/MC/X86/x86-32.s | |
parent | 8902ecb6826d0677c32f1fb9aac41070fee1ac7d (diff) | |
download | llvm-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.s | 110 |
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 |