fix rdar://7986634 - match instruction opcodes case insensitively.
[oota-llvm.git] / test / MC / AsmParser / X86 / x86_instructions.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown %s | FileCheck %s
2
3 // CHECK: subb %al, %al
4         subb %al, %al
5
6 // CHECK: addl $24, %eax
7         addl $24, %eax
8
9 // CHECK: movl %eax, 10(%ebp)
10         movl %eax, 10(%ebp)
11 // CHECK: movl %eax, 10(%ebp,%ebx)
12         movl %eax, 10(%ebp, %ebx)
13 // CHECK: movl %eax, 10(%ebp,%ebx,4)
14         movl %eax, 10(%ebp, %ebx, 4)
15 // CHECK: movl %eax, 10(,%ebx,4)
16         movl %eax, 10(, %ebx, 4)
17
18 // CHECK: movl 0, %eax        
19         movl 0, %eax
20 // CHECK: movl $0, %eax        
21         movl $0, %eax
22         
23 // CHECK: ret
24         ret
25         
26 // FIXME: Check that this matches SUB32ri8
27 // CHECK: subl $1, %eax
28         subl $1, %eax
29         
30 // FIXME: Check that this matches SUB32ri8
31 // CHECK: subl $-1, %eax
32         subl $-1, %eax
33         
34 // FIXME: Check that this matches SUB32ri
35 // CHECK: subl $256, %eax
36         subl $256, %eax
37
38 // FIXME: Check that this matches XOR64ri8
39 // CHECK: xorq $1, %rax
40         xorq $1, %rax
41         
42 // FIXME: Check that this matches XOR64ri32
43 // CHECK: xorq $256, %rax
44         xorq $256, %rax
45
46 // FIXME: Check that this matches SUB8rr
47 // CHECK: subb %al, %bl
48         subb %al, %bl
49
50 // FIXME: Check that this matches SUB16rr
51 // CHECK: subw %ax, %bx
52         subw %ax, %bx
53         
54 // FIXME: Check that this matches SUB32rr
55 // CHECK: subl %eax, %ebx
56         subl %eax, %ebx
57         
58 // FIXME: Check that this matches the correct instruction.
59 // CHECK: call *%rax
60         call *%rax
61
62 // FIXME: Check that this matches the correct instruction.
63 // CHECK: shldl %cl, %eax, %ebx
64         shldl %cl, %eax, %ebx
65
66 // CHECK: shll $2, %eax
67         shll $2, %eax
68
69 // CHECK: shll $2, %eax
70         sall $2, %eax
71
72 // CHECK: rep
73 // CHECK: insb
74         rep;insb
75
76 // CHECK: rep
77 // CHECK: outsb
78         rep;outsb
79
80 // CHECK: rep
81 // CHECK: movsb
82         rep;movsb
83
84 // CHECK: rep
85 // CHECK: lodsb
86         rep;lodsb
87
88 // CHECK: rep
89 // CHECK: stosb
90         rep;stosb
91
92 // NOTE: repz and repe have the same opcode as rep
93 // CHECK: rep
94 // CHECK: cmpsb
95         repz;cmpsb
96
97 // NOTE: repnz has the same opcode as repne
98 // CHECK: repne
99 // CHECK: cmpsb
100         repnz;cmpsb
101
102 // NOTE: repe and repz have the same opcode as rep
103 // CHECK: rep
104 // CHECK: scasb
105         repe;scasb
106
107 // CHECK: repne
108 // CHECK: scasb
109         repne;scasb
110
111 // CHECK: lock
112 // CHECK: cmpxchgb %al, (%ebx)
113         lock;cmpxchgb %al, 0(%ebx)
114
115 // CHECK: cs
116 // CHECK: movb (%eax), %al
117         cs;movb 0(%eax), %al
118
119 // CHECK: ss
120 // CHECK: movb (%eax), %al
121         ss;movb 0(%eax), %al
122
123 // CHECK: ds
124 // CHECK: movb (%eax), %al
125         ds;movb 0(%eax), %al
126
127 // CHECK: es
128 // CHECK: movb (%eax), %al
129         es;movb 0(%eax), %al
130
131 // CHECK: fs
132 // CHECK: movb (%eax), %al
133         fs;movb 0(%eax), %al
134
135 // CHECK: gs
136 // CHECK: movb (%eax), %al
137         gs;movb 0(%eax), %al
138
139 // CHECK: fadd %st(0)
140 // CHECK: fadd %st(1)
141 // CHECK: fadd %st(7)
142
143 fadd %st(0)
144 fadd %st(1)
145 fadd %st(7)
146
147 // CHECK: leal 0, %eax
148         leal 0, %eax
149
150 // rdar://7986634 - Insensitivity on opcodes.
151 // CHECK: int3
152 INT3
153