// 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 .macro ifcc4 arg0, arg1:vararg .if cc movl \arg1, \arg0 .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 // 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 ifcc4 %eax %ecx ## test ifcc4 %ecx, %eax ## test // CHECK-NOT movl // CHECK: subl $1, %esp .set cc,0 ifcc movl %esp, %ebp subl $1, %esp