[AVX512] Add vpermil variable version
[oota-llvm.git] / test / MC / AsmParser / vararg.s
1 // RUN: llvm-mc -triple x86_64-linux-gnu %s | FileCheck %s
2 .macro ifcc arg:vararg
3 .if cc
4             \arg
5 .endif
6 .endm
7
8 .macro ifcc2 arg0 arg1:vararg
9 .if cc
10             movl \arg0, \arg1
11 .endif
12 .endm
13
14 .macro ifcc3 arg0, arg1:vararg
15 .if cc
16             movl \arg0, \arg1
17 .endif
18 .endm
19
20 .macro ifcc4 arg0, arg1:vararg
21 .if cc
22             movl \arg1, \arg0
23 .endif
24 .endm
25
26 .text
27
28 // CHECK: movl %esp, %ebp
29 // CHECK: subl $0, %esp
30 // CHECK: movl %eax, %ebx
31 // CHECK: movl %ecx, %ebx
32 // CHECK: movl %ecx, %eax
33 // CHECK: movl %eax, %ecx
34 // CHECK: movl %ecx, %eax
35 // CHECK: movl %eax, %ecx
36 .set cc,1
37   ifcc  movl    %esp, %ebp
38         subl $0, %esp
39
40   ifcc2 %eax %ebx
41   ifcc2 %ecx, %ebx
42   ifcc3 %ecx %eax
43   ifcc3 %eax, %ecx
44   ifcc4 %eax %ecx  ## test
45   ifcc4 %ecx, %eax ## test
46
47 // CHECK-NOT movl
48 // CHECK: subl $1, %esp
49 .set cc,0
50   ifcc  movl    %esp, %ebp
51         subl $1, %esp