MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing
[oota-llvm.git] / test / MC / AsmParser / X86 / x86_instructions.s
1 // FIXME: Switch back to FileCheck once we print actual instructions
2         
3 // RUN: llvm-mc -triple x86_64-unknown-unknown %s | FileCheck %s
4
5 // CHECK: subb %al, %al
6         subb %al, %al
7
8 // CHECK: addl $24, %eax
9         addl $24, %eax
10
11 // CHECK: movl %eax, 10(%ebp)
12         movl %eax, 10(%ebp)
13 // CHECK: movl %eax, 10(%ebp,%ebx)
14         movl %eax, 10(%ebp, %ebx)
15 // CHECK: movl %eax, 10(%ebp,%ebx,4)
16         movl %eax, 10(%ebp, %ebx, 4)
17 // CHECK: movl %eax, 10(,%ebx,4)
18         movl %eax, 10(, %ebx, 4)
19
20 // CHECK: movl 0, %eax        
21         movl 0, %eax
22 // CHECK: movl $0, %eax        
23         movl $0, %eax
24         
25 // CHECK: ret
26         ret
27         
28 // FIXME: Check that this matches SUB32ri8
29 // CHECK: subl $1, %eax
30         subl $1, %eax
31         
32 // FIXME: Check that this matches SUB32ri8
33 // CHECK: subl $-1, %eax
34         subl $-1, %eax
35         
36 // FIXME: Check that this matches SUB32ri
37 // CHECK: subl $256, %eax
38         subl $256, %eax
39
40 // FIXME: Check that this matches XOR64ri8
41 // CHECK: xorq $1, %rax
42         xorq $1, %rax
43         
44 // FIXME: Check that this matches XOR64ri32
45 // CHECK: xorq $256, %rax
46         xorq $256, %rax
47
48 // FIXME: Check that this matches SUB8rr
49 // CHECK: subb %al, %bl
50         subb %al, %bl
51
52 // FIXME: Check that this matches SUB16rr
53 // CHECK: subw %ax, %bx
54         subw %ax, %bx
55         
56 // FIXME: Check that this matches SUB32rr
57 // CHECK: subl %eax, %ebx
58         subl %eax, %ebx
59         
60 // FIXME: Check that this matches the correct instruction.
61 // CHECK: call *%rax
62         call *%rax
63
64 // FIXME: Check that this matches the correct instruction.
65 // CHECK: shldl %cl, %eax, %ebx
66         shldl %cl, %eax, %ebx