91 lines · plain
1// RUN: llvm-mc -triple i386-apple-darwin10 %s 2>&1 | FileCheck %s2 3.macro abc a b:vararg4.globl "\a, \b"5.endm6 7// CHECK: .globl "zed0, zed1, zed2"8abc zed0, zed1, zed29 10.purgem abc11 12.macro ifcc arg:vararg13.if cc14 \arg15.endif16.endm17 18.macro ifcc2 arg0 arg1:vararg19.if cc20 movl \arg0, \arg121.endif22.endm23 24.macro ifcc3 arg0, arg1:vararg25.if cc26 movl \arg0, \arg127.endif28.endm29 30.macro ifcc4 arg0, arg1:vararg31.if cc32 movl \arg1, \arg033.endif34.endm35 36.text37 38// CHECK: movl %esp, %ebp39// CHECK: subl $0, %esp40// CHECK: movl %eax, %ebx41// CHECK: movl %ecx, %ebx42// CHECK: movl %ecx, %eax43// CHECK: movl %eax, %ecx44// CHECK: movl %ecx, %eax45// CHECK: movl %eax, %ecx46.set cc,147 ifcc movl %esp, %ebp48 subl $0, %esp49 50 ifcc2 %eax, %ebx51 ifcc2 %ecx, %ebx52 ifcc3 %ecx, %eax53 ifcc3 %eax, %ecx54 ifcc4 %eax, %ecx ## test55 ifcc4 %ecx, %eax ## test56 57// CHECK-NOT: movl58// CHECK: subl $1, %esp59.set cc,060 ifcc movl, %esp, %ebp61 subl $1, %esp62 63.macro abc arg:vararg=nop64 \arg65.endm66 67.macro abcd arg0=%eax, arg1:vararg=%ebx68 movl \arg0, \arg169.endm70 71.text72 73// CHECK: nop74 abc75// CHECK: movl %eax, %ebx76 abcd ,77 78.macro .make_macro start, end, name, body:vararg79\start \name80\body81\end82.endmacro83 84.make_macro .macro,.endmacro,.mybyte,.byte $0, $2, $185 86.data87// CHECK: .byte 1088// CHECK: .byte 1289// CHECK: .byte 1190.mybyte 10,11,1291