Devang Patel | 4a5c0fd | 2012-01-13 18:45:31 +0000 | [diff] [blame] | 1 | // RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel %s | FileCheck %s |
| 2 | |
Devang Patel | 40bced0 | 2012-01-17 18:30:45 +0000 | [diff] [blame] | 3 | _test: |
| 4 | xor EAX, EAX |
| 5 | ret |
| 6 | |
| 7 | _main: |
Devang Patel | 4a5c0fd | 2012-01-13 18:45:31 +0000 | [diff] [blame] | 8 | // CHECK: movl $257, -4(%rsp) |
| 9 | mov DWORD PTR [RSP - 4], 257 |
Devang Patel | 9a3d293 | 2012-01-17 19:08:07 +0000 | [diff] [blame] | 10 | // CHECK: movl $258, 4(%rsp) |
| 11 | mov DWORD PTR [RSP + 4], 258 |
Devang Patel | 4a5c0fd | 2012-01-13 18:45:31 +0000 | [diff] [blame] | 12 | // 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 Patel | d37ad24 | 2012-01-17 18:00:18 +0000 | [diff] [blame] | 18 | // 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 Patel | 6220fea | 2012-01-17 21:25:10 +0000 | [diff] [blame] | 26 | // CHECK: movb %dil, (%rdx,%rcx) |
| 27 | mov BYTE PTR [RDX + RCX], DIL |
Devang Patel | 2f8af1d | 2012-01-17 21:48:03 +0000 | [diff] [blame] | 28 | // CHECK: movzwl 2(%rcx), %edi |
| 29 | movzx EDI, WORD PTR [RCX + 2] |
Devang Patel | 40bced0 | 2012-01-17 18:30:45 +0000 | [diff] [blame] | 30 | // CHECK: callq _test |
| 31 | call _test |
Devang Patel | b8ba13f | 2012-01-18 22:42:29 +0000 | [diff] [blame] | 32 | // 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 Patel | 1aea430 | 2012-01-20 22:32:05 +0000 | [diff] [blame] | 56 | // CHECK: fld %st(0) |
| 57 | fld ST(0) |
Devang Patel | 7c64fe6 | 2012-01-23 18:31:58 +0000 | [diff] [blame] | 58 | // CHECK: movl %fs:(%rdi), %eax |
Devang Patel | f2d2137 | 2012-01-23 22:35:25 +0000 | [diff] [blame] | 59 | mov EAX, DWORD PTR FS:[RDI] |
Devang Patel | 3e08131 | 2012-01-23 20:20:06 +0000 | [diff] [blame] | 60 | // CHECK: leal (,%rdi,4), %r8d |
Devang Patel | f2d2137 | 2012-01-23 22:35:25 +0000 | [diff] [blame] | 61 | lea R8D, DWORD PTR [4*RDI] |
| 62 | // CHECK: movl _fnan(,%ecx,4), %ecx |
| 63 | mov ECX, DWORD PTR [4*ECX + _fnan] |
Devang Patel | a28101e | 2012-01-27 19:48:28 +0000 | [diff] [blame] | 64 | // CHECK: movq %fs:320, %rax |
| 65 | mov RAX, QWORD PTR FS:[320] |
Craig Topper | 75dc33a | 2012-07-18 04:11:12 +0000 | [diff] [blame] | 66 | // CHECK: vpgatherdd %xmm8, (%r15,%xmm9,2), %xmm1 |
| 67 | vpgatherdd XMM10, DWORD PTR [R15 + 2*XMM9], XMM8 |
Devang Patel | 40bced0 | 2012-01-17 18:30:45 +0000 | [diff] [blame] | 68 | ret |