diff options
author | Chad Rosier <mcrosier@apple.com> | 2013-04-17 21:01:45 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2013-04-17 21:01:45 +0000 |
commit | d58f773b96fdb5539d9da2192b8cf2ff6112239f (patch) | |
tree | 8506afc116656dfc6dabc3ab5ad65cdbc9a01277 /test/MC | |
parent | b271b120d064f6944435de83f3db971d5b2d3fa7 (diff) |
[ms-inline asm] Add support for the minus unary operator. Previously, we were
unable to handle cases such as __asm mov eax, 8*-8.
This patch also attempts to simplify the state machine. Further, the error
reporting has been improved. Test cases included, but more will be added to
the clang side shortly.
rdar://13668445
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179719 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/X86/intel-syntax.s | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/test/MC/X86/intel-syntax.s b/test/MC/X86/intel-syntax.s index 226757b305..2e4d6b940b 100644 --- a/test/MC/X86/intel-syntax.s +++ b/test/MC/X86/intel-syntax.s @@ -283,5 +283,12 @@ _main: mov [((-2) * ((8 + 4) - 4)) + eax + ebx*4], ecx // CHECK: movl %ecx, -16(%eax,%ebx,4) mov [eax + ((-2) * ((8 + 4) - 4)) + ebx*4], ecx - +// CHECK: movl %ecx, 96(%eax,%ebx,4) + mov [eax + ((-2) * ((8 + 4) * -4)) + ebx*4], ecx +// CHECK: movl %ecx, -8(%eax,%ebx,4) + mov [eax][-8][ebx*4], ecx +// CHECK: movl %ecx, -2(%eax,%ebx,4) + mov [eax][16/-8][ebx*4], ecx +// CHECK: movl %ecx, -2(%eax,%ebx,4) + mov [eax][(16)/-8][ebx*4], ecx ret |