6d084213e40b67dac702433c103a7acc212a492a
[oota-llvm.git] / test / MC / AsmParser / macro-args.s
1 // RUN: llvm-mc -triple x86_64-apple-darwin10 %s | FileCheck %s
2
3 .macro GET   var,re2g
4     movl   \var@GOTOFF(%ebx),\re2g
5 .endm
6
7
8 GET    is_sse, %eax
9
10 // CHECK: movl  is_sse@GOTOFF(%ebx), %eax
11
12 .macro bar
13     .long $n
14 .endm
15
16 bar 1, 2, 3
17 bar
18
19 // CHECK: .long 3
20 // CHECK: .long 0
21
22
23 .macro top
24     middle _$0, $1
25 .endm
26 .macro middle
27      $0:
28     .if $n > 1
29         bottom $1
30     .endif
31 .endm
32 .macro bottom
33     .set fred, $0
34 .endm
35
36 .text
37
38 top foo
39 top bar, 42
40
41 // CHECK: _foo:
42 // CHECK-NOT: fred
43 // CHECK: _bar
44 // CHECK-NEXT: fred = 42
45
46
47 .macro foo
48 foo_$0_$1_$2_$3:
49   nop
50 .endm
51
52 foo 1, 2, 3, 4
53 foo 1, , 3, 4
54
55 // CHECK: foo_1_2_3_4:
56 // CHECK: foo_1__3_4: