diff options
| author | David Woodhouse <dwmw2@infradead.org> | 2014-01-22 15:08:21 +0000 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2014-01-22 15:08:21 +0000 |
| commit | b33c2ef215707b5a2d58146933d1b0ddefc185b9 (patch) | |
| tree | b23ba9e6ee6cca8e91782e368c78901813f12aa5 /llvm/test/MC/X86/index-operations.s | |
| parent | 2ef8d9c05cb4133383fda0c8b85f1443b873a758 (diff) | |
| download | bcm5719-llvm-b33c2ef215707b5a2d58146933d1b0ddefc185b9.tar.gz bcm5719-llvm-b33c2ef215707b5a2d58146933d1b0ddefc185b9.zip | |
[x86] Allow address-size overrides for STOS[BWLQ] (PR9385)
llvm-svn: 199804
Diffstat (limited to 'llvm/test/MC/X86/index-operations.s')
| -rw-r--r-- | llvm/test/MC/X86/index-operations.s | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/MC/X86/index-operations.s b/llvm/test/MC/X86/index-operations.s index a5dd88b1d48..ffad9596c83 100644 --- a/llvm/test/MC/X86/index-operations.s +++ b/llvm/test/MC/X86/index-operations.s @@ -44,3 +44,33 @@ lods (%esi), %ax // 64: lodsw (%esi), %ax # encoding: [0x66,0x67,0xad] // 32: lodsw (%esi), %ax # encoding: [0x66,0xad] // 16: lodsw (%esi), %ax # encoding: [0x67,0xad] + +stosw +// 64: stosw %ax, %es:(%rdi) # encoding: [0x66,0xab] +// 32: stosw %ax, %es:(%edi) # encoding: [0x66,0xab] +// 16: stosw %ax, %es:(%di) # encoding: [0xab] + +stos %eax, (%edi) +// 64: stosl %eax, %es:(%edi) # encoding: [0x67,0xab] +// 32: stosl %eax, %es:(%edi) # encoding: [0xab] +// 16: stosl %eax, %es:(%edi) # encoding: [0x66,0x67,0xab] + +stosb %al, %fs:(%edi) +// ERR64: invalid operand for instruction +// ERR32: invalid operand for instruction +// ERR16: invalid operand for instruction + +stosb %al, %es:(%edi) +// 64: stosb %al, %es:(%edi) # encoding: [0x67,0xaa] +// 32: stosb %al, %es:(%edi) # encoding: [0xaa] +// 16: stosb %al, %es:(%edi) # encoding: [0x67,0xaa] + +stosq +// 64: stosq %rax, %es:(%rdi) # encoding: [0x48,0xab] +// ERR32: 64-bit +// ERR16: 64-bit + +stos %rax, (%edi) +// 64: stosq %rax, %es:(%edi) # encoding: [0x48,0x67,0xab] +// ERR32: only available in 64-bit mode +// ERR16: only available in 64-bit mode |

