[AVX512] Add vpermil variable version
[oota-llvm.git] / test / MC / AsmParser / macros-gas.s
1 // RUN: not llvm-mc -triple i386-linux-gnu %s 2> %t.err | FileCheck %s
2 // RUN: FileCheck --check-prefix=CHECK-ERRORS %s < %t.err
3
4 .macro .test0
5 .macrobody0
6 .endm
7 .macro .test1
8 .test0
9 .endm
10
11 .test1
12 // CHECK-ERRORS: <instantiation>:1:1: error: unknown directive
13 // CHECK-ERRORS-NEXT: macrobody0
14 // CHECK-ERRORS-NEXT: ^
15 // CHECK-ERRORS: <instantiation>:1:1: note: while in macro instantiation
16 // CHECK-ERRORS-NEXT: .test0
17 // CHECK-ERRORS-NEXT: ^
18 // CHECK-ERRORS: 11:1: note: while in macro instantiation
19 // CHECK-ERRORS-NEXT: .test1
20 // CHECK-ERRORS-NEXT: ^
21
22 .macro test2 _a
23 .byte \_a
24 .endm
25 // CHECK: .byte 10
26 test2 10
27
28 .macro test3 _a _b _c
29 .ascii "\_a \_b \_c \\_c"
30 .endm
31
32 // CHECK: .ascii "1 2 3 \003"
33 test3 1, 2, 3
34
35 // CHECK: .ascii "1 2 3 \003"
36 test3 1, 2 3
37
38 .macro test3_prime _a _b _c
39 .ascii "\_a \_b \_c"
40 .endm
41
42 // CHECK: .ascii "1 (23) "
43 test3_prime 1, (2 3)
44
45 // CHECK: .ascii "1 (23) "
46 test3_prime 1 (2 3)
47
48 // CHECK: .ascii "1 2 "
49 test3_prime 1 2
50
51 .macro test5 _a
52 .globl \_a
53 .endm
54
55 // CHECK: .globl zed1
56 test5 zed1
57
58 .macro test6 $a
59 .globl \$a
60 .endm
61
62 // CHECK: .globl zed2
63 test6 zed2
64
65 .macro test7 .a
66 .globl \.a
67 .endm
68
69 // CHECK: .globl zed3
70 test7 zed3
71
72 .macro test8 _a, _b, _c
73 .ascii "\_a,\_b,\_c"
74 .endm
75
76 .macro test9 _a _b _c
77 .ascii "\_a \_b \_c"
78 .endm
79
80 // CHECK: .ascii "a,b,c"
81 test8 a, b, c
82 // CHECK: .ascii "%1,%2,%3"
83 test8 %1 %2 %3 #a comment
84 // CHECK: .ascii "x-y,z,1"
85 test8 x - y z 1
86 // CHECK: .ascii "1 2 3"
87 test9 1, 2,3
88
89 // CHECK: .ascii "1,2,3"
90 test8 1,2 3
91
92 // CHECK: .ascii "1,2,3"
93 test8 1 2, 3
94
95 .macro test10
96 .ascii "$20"
97 .endm
98
99 test10
100 // CHECK: .ascii "$20"
101
102 test10 42
103 // CHECK-ERRORS: 102:10: error: Wrong number of arguments
104 // CHECK-ERRORS-NEXT: test10 42
105 // CHECK-ERRORS-NEXT: ^