[asan] Add a flag to control asm instrumentation.
[oota-llvm.git] / test / Instrumentation / AddressSanitizer / X86 / asm_swap_intel.s
1 # RUN: llvm-mc %s -x86-asm-syntax=intel -triple=x86_64-unknown-linux-gnu -asm-instrumentation=address -asan-instrument-assembly | FileCheck %s
2
3         .text
4         .globl  swap
5         .align  16, 0x90
6         .type   swap,@function
7 # CHECK-LABEL: swap:
8 #
9 # CHECK: subq $128, %rsp
10 # CHECK-NEXT: pushq %rdi
11 # CHECK-NEXT: leaq (%rcx), %rdi
12 # CHECK-NEXT: callq __sanitizer_sanitize_load8@PLT
13 # CHECK-NEXT: popq %rdi
14 # CHECK-NEXT: addq $128, %rsp
15 #
16 # CHECK-NEXT: movq (%rcx), %rax
17 #
18 # CHECK-NEXT: subq $128, %rsp
19 # CHECK-NEXT: pushq %rdi
20 # CHECK-NEXT: leaq (%rdx), %rdi
21 # CHECK-NEXT: callq __sanitizer_sanitize_load8@PLT
22 # CHECK-NEXT: popq %rdi
23 # CHECK-NEXT: addq $128, %rsp
24 #
25 # CHECK-NEXT: movq (%rdx), %rbx
26 #
27 # CHECK: subq $128, %rsp
28 # CHECK-NEXT: pushq %rdi
29 # CHECK-NEXT: leaq (%rcx), %rdi
30 # CHECK-NEXT: callq __sanitizer_sanitize_store8@PLT
31 # CHECK-NEXT: popq %rdi
32 # CHECK-NEXT: addq $128, %rsp
33 #
34 # CHECK-NEXT: movq %rbx, (%rcx)
35 #
36 # CHECK-NEXT: subq $128, %rsp
37 # CHECK-NEXT: pushq %rdi
38 # CHECK-NEXT: leaq (%rdx), %rdi
39 # CHECK-NEXT: callq __sanitizer_sanitize_store8@PLT
40 # CHECK-NEXT: popq %rdi
41 # CHECK-NEXT: addq $128, %rsp
42 #
43 # CHECK-NEXT: movq %rax, (%rdx)
44 swap:                                   # @swap
45         .cfi_startproc
46 # BB#0:
47         push    rbx
48 .Ltmp0:
49         .cfi_def_cfa_offset 16
50 .Ltmp1:
51         .cfi_offset rbx, -16
52         mov     rcx, rdi
53         mov     rdx, rsi
54         #APP
55
56
57         mov     rax, qword ptr [rcx]
58         mov     rbx, qword ptr [rdx]
59         mov     qword ptr [rcx], rbx
60         mov     qword ptr [rdx], rax
61
62         #NO_APP
63         pop     rbx
64         ret
65 .Ltmp2:
66         .size   swap, .Ltmp2-swap
67         .cfi_endproc
68
69
70         .ident  "clang version 3.5.0 "
71         .section        ".note.GNU-stack","",@progbits