[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / MC / AsmParser / macros-darwin-vararg.s
blob1c3ff69180f032cdd1257996b124eb27611bc3de
1 // RUN: llvm-mc -triple i386-apple-darwin10 %s 2>&1 | FileCheck %s
3 .macro abc a b:vararg
4 .globl "\a, \b"
5 .endm
7 // CHECK: .globl "zed0, zed1, zed2"
8 abc zed0, zed1, zed2
10 .purgem abc
12 .macro ifcc arg:vararg
13 .if cc
14 \arg
15 .endif
16 .endm
18 .macro ifcc2 arg0 arg1:vararg
19 .if cc
20 movl \arg0, \arg1
21 .endif
22 .endm
24 .macro ifcc3 arg0, arg1:vararg
25 .if cc
26 movl \arg0, \arg1
27 .endif
28 .endm
30 .macro ifcc4 arg0, arg1:vararg
31 .if cc
32 movl \arg1, \arg0
33 .endif
34 .endm
36 .text
38 // CHECK: movl %esp, %ebp
39 // CHECK: subl $0, %esp
40 // CHECK: movl %eax, %ebx
41 // CHECK: movl %ecx, %ebx
42 // CHECK: movl %ecx, %eax
43 // CHECK: movl %eax, %ecx
44 // CHECK: movl %ecx, %eax
45 // CHECK: movl %eax, %ecx
46 .set cc,1
47 ifcc movl %esp, %ebp
48 subl $0, %esp
50 ifcc2 %eax, %ebx
51 ifcc2 %ecx, %ebx
52 ifcc3 %ecx, %eax
53 ifcc3 %eax, %ecx
54 ifcc4 %eax, %ecx ## test
55 ifcc4 %ecx, %eax ## test
57 // CHECK-NOT: movl
58 // CHECK: subl $1, %esp
59 .set cc,0
60 ifcc movl, %esp, %ebp
61 subl $1, %esp
63 .macro abc arg:vararg=nop
64 \arg
65 .endm
67 .macro abcd arg0=%eax, arg1:vararg=%ebx
68 movl \arg0, \arg1
69 .endm
71 .text
73 // CHECK: nop
74 abc
75 // CHECK: movl %eax, %ebx
76 abcd ,
78 .macro .make_macro start, end, name, body:vararg
79 \start \name
80 \body
81 \end
82 .endmacro
84 .make_macro .macro,.endmacro,.mybyte,.byte $0, $2, $1
86 .data
87 // CHECK: .byte 10
88 // CHECK: .byte 12
89 // CHECK: .byte 11
90 .mybyte 10,11,12