diff options
Diffstat (limited to 'test/MC/AsmParser/vararg.s')
-rw-r--r-- | test/MC/AsmParser/vararg.s | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/MC/AsmParser/vararg.s b/test/MC/AsmParser/vararg.s new file mode 100644 index 0000000000..b27668ea33 --- /dev/null +++ b/test/MC/AsmParser/vararg.s @@ -0,0 +1,41 @@ +// RUN: llvm-mc -triple x86_64-linux-gnu %s | FileCheck %s +.macro ifcc arg:vararg +.if cc + \arg +.endif +.endm + +.macro ifcc2 arg0 arg1:vararg +.if cc + movl \arg0, \arg1 +.endif +.endm + +.macro ifcc3 arg0, arg1:vararg +.if cc + movl \arg0, \arg1 +.endif +.endm + +.text + +// CHECK: movl %esp, %ebp +// CHECK: subl $0, %esp +// CHECK: movl %eax, %ebx +// CHECK: movl %ecx, %ebx +// CHECK: movl %ecx, %eax +// CHECK: movl %eax, %ecx +.set cc,1 + ifcc movl %esp, %ebp + subl $0, %esp + + ifcc2 %eax %ebx + ifcc2 %ecx, %ebx + ifcc3 %ecx %eax + ifcc3 %eax, %ecx + +// CHECK-NOT movl +// CHECK: subl $1, %esp +.set cc,0 + ifcc movl %esp, %ebp + subl $1, %esp |