[X86] Add support for mmword memory operand size for Intel-syntax x86 assembly
[oota-llvm.git] / test / MC / X86 / x86_operands.s
1 // RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
2
3 # Immediates
4 # CHECK: addl $1, %eax
5         addl $1, %eax
6 # CHECK: addl $3, %eax
7         addl $(1+2), %eax
8 # CHECK: addl $a, %eax
9         addl $a, %eax
10 # CHECK: addl $3, %eax
11         addl $1 + 2, %eax
12         
13 # Disambiguation
14
15 # CHECK: addl $1, 8
16         addl $1, 4+4
17 # CHECK: addl $1, 8
18         addl $1, (4+4)
19 # CHECK: addl $1, 8(%eax)
20         addl $1, 4+4(%eax)
21 # CHECK: addl $1, 8(%eax)
22         addl $1, (4+4)(%eax)
23 # CHECK: addl $1, 8(%eax)
24         addl $1, 8(%eax)
25 # CHECK: addl $1, (%eax)
26         addl $1, (%eax)
27 # CHECK: addl $1, 8(,%eax)
28         addl $1, (4+4)(,%eax)
29         
30 # Indirect Memory Operands
31 # CHECK: addl $1, 1(%eax)
32         addl $1, 1(%eax)
33 # CHECK: addl $1, 1(%eax,%ebx)
34         addl $1, 1(%eax,%ebx)
35 # CHECK: addl $1, 1(%eax,%ebx)
36         addl $1, 1(%eax,%ebx,)
37 # CHECK: addl $1, 1(%eax,%ebx,4)
38         addl $1, 1(%eax,%ebx,4)
39 # CHECK: addl $1, 1(,%ebx)
40         addl $1, 1(,%ebx)
41 # CHECK: addl $1, 1(,%ebx)
42         addl $1, 1(,%ebx,)
43 # CHECK: addl $1, 1(,%ebx,4)
44         addl $1, 1(,%ebx,4)
45 # CHECK: addl $1, 1(,%ebx,4)
46         addl $1, 1(,%ebx,(2+2))
47
48 # '*'
49 # CHECK: calll a
50         call a
51 # CHECK: calll *%eax
52         call *%eax
53 # CHECK: calll *4(%eax)
54         call *4(%eax)
55 foo:
56         calll foo()
57 # CHECK: calll foo{{$}}
58         calll foo(,)
59 # CHECK: calll foo{{$}}
60
61 # CHECK: movl   %gs:8, %eax
62 movl %gs:8, %eax
63