blob: 6f4c77a0113651ae937fe8b3c4d27dfd01fb5f42 [file] [log] [blame]
Devang Patel4a5c0fd2012-01-13 18:45:31 +00001// RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel %s | FileCheck %s
2
Devang Patel40bced02012-01-17 18:30:45 +00003_test:
4 xor EAX, EAX
5 ret
6
7_main:
Devang Patel4a5c0fd2012-01-13 18:45:31 +00008// CHECK: movl $257, -4(%rsp)
9 mov DWORD PTR [RSP - 4], 257
Devang Patel9a3d2932012-01-17 19:08:07 +000010// CHECK: movl $258, 4(%rsp)
11 mov DWORD PTR [RSP + 4], 258
Devang Patel4a5c0fd2012-01-13 18:45:31 +000012// CHECK: movq $123, -16(%rsp)
13 mov QWORD PTR [RSP - 16], 123
14// CHECK: movb $97, -17(%rsp)
15 mov BYTE PTR [RSP - 17], 97
16// CHECK: movl -4(%rsp), %eax
17 mov EAX, DWORD PTR [RSP - 4]
Devang Pateld37ad242012-01-17 18:00:18 +000018// CHECK: movq (%rsp), %rax
19 mov RAX, QWORD PTR [RSP]
20// CHECK: movl $-4, -4(%rsp)
21 mov DWORD PTR [RSP - 4], -4
22// CHECK: movq 0, %rcx
23 mov RCX, QWORD PTR [0]
24// CHECK: movl -24(%rsp,%rax,4), %eax
25 mov EAX, DWORD PTR [RSP + 4*RAX - 24]
Devang Patel6220fea2012-01-17 21:25:10 +000026// CHECK: movb %dil, (%rdx,%rcx)
27 mov BYTE PTR [RDX + RCX], DIL
Devang Patel2f8af1d2012-01-17 21:48:03 +000028// CHECK: movzwl 2(%rcx), %edi
29 movzx EDI, WORD PTR [RCX + 2]
Devang Patel40bced02012-01-17 18:30:45 +000030// CHECK: callq _test
31 call _test
Devang Patelb8ba13f2012-01-18 22:42:29 +000032// CHECK: andw $12, %ax
33 and ax, 12
34// CHECK: andw $-12, %ax
35 and ax, -12
36// CHECK: andw $257, %ax
37 and ax, 257
38// CHECK: andw $-257, %ax
39 and ax, -257
40// CHECK: andl $12, %eax
41 and eax, 12
42// CHECK: andl $-12, %eax
43 and eax, -12
44// CHECK: andl $257, %eax
45 and eax, 257
46// CHECK: andl $-257, %eax
47 and eax, -257
48// CHECK: andq $12, %rax
49 and rax, 12
50// CHECK: andq $-12, %rax
51 and rax, -12
52// CHECK: andq $257, %rax
53 and rax, 257
54// CHECK: andq $-257, %rax
55 and rax, -257
Devang Patel40bced02012-01-17 18:30:45 +000056 ret