[obj2yaml] - Fix a comment. NFC.
[llvm-complete.git] / test / MC / ARM / directive-arch_extension-simd.s
blob14359c645229901275f3ab70cd285ed2c9e09da6
1 @ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \
2 @ RUN: | FileCheck %s -check-prefix CHECK-V7 -check-prefix CHECK
3 @ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \
4 @ RUN: | FileCheck %s -check-prefix CHECK-V8 -check-prefix CHECK
5 @ RUN: not llvm-mc -triple thumbv7-eabi -filetype asm -o /dev/null 2>&1 %s \
6 @ RUN: | FileCheck %s -check-prefix CHECK-V7 -check-prefix CHECK
7 @ RUN: not llvm-mc -triple thumbv8-eabi -filetype asm -o /dev/null 2>&1 %s \
8 @ RUN: | FileCheck %s -check-prefix CHECK-V8 -check-prefix CHECK
10 .syntax unified
12 .arch_extension simd
13 @ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture
14 @ CHECK-V7-NEXT: .arch_extension simd
15 @ CHECK-V7-NEXT: ^
17 .type simd,%function
18 simd:
19 vmaxnm.f32 s0, s0, s0
20 @ CHECK-V7: error: instruction requires: FPARMv8
21 vminnm.f32 s0, s0, s0
22 @ CHECK-V7: error: instruction requires: FPARMv8
24 vmaxnm.f64 d0, d0, d0
25 @ CHECK-V7: error: instruction requires: FPARMv8
26 vminnm.f64 d0, d0, d0
27 @ CHECK-V7: error: instruction requires: FPARMv8
29 vcvta.s32.f32 s0, s0
30 @ CHECK-V7: error: instruction requires: FPARMv8
31 vcvta.u32.f32 s0, s0
32 @ CHECK-V7: error: instruction requires: FPARMv8
33 vcvta.s32.f64 s0, d0
34 @ CHECK-V7: error: instruction requires: FPARMv8
35 vcvta.u32.f64 s0, d0
36 @ CHECK-V7: error: instruction requires: FPARMv8
37 vcvtn.s32.f32 s0, s0
38 @ CHECK-V7: error: instruction requires: FPARMv8
39 vcvtn.u32.f32 s0, s0
40 @ CHECK-V7: error: instruction requires: FPARMv8
41 vcvtn.s32.f64 s0, d0
42 @ CHECK-V7: error: instruction requires: FPARMv8
43 vcvtn.u32.f64 s0, d0
44 @ CHECK-V7: error: instruction requires: FPARMv8
45 vcvtp.s32.f32 s0, s0
46 @ CHECK-V7: error: instruction requires: FPARMv8
47 vcvtp.u32.f32 s0, s0
48 @ CHECK-V7: error: instruction requires: FPARMv8
49 vcvtp.s32.f64 s0, d0
50 @ CHECK-V7: error: instruction requires: FPARMv8
51 vcvtp.u32.f64 s0, d0
52 @ CHECK-V7: error: instruction requires: FPARMv8
53 vcvtm.s32.f32 s0, s0
54 @ CHECK-V7: error: instruction requires: FPARMv8
55 vcvtm.u32.f32 s0, s0
56 @ CHECK-V7: error: instruction requires: FPARMv8
57 vcvtm.s32.f64 s0, d0
58 @ CHECK-V7: error: instruction requires: FPARMv8
59 vcvtm.u32.f64 s0, d0
60 @ CHECK-V7: error: instruction requires: FPARMv8
62 vrintz.f32 s0, s1
63 @ CHECK-V7: error: instruction requires: FPARMv8
64 vrintz.f64 d0, d1
65 @ CHECK-V7: error: instruction requires: FPARMv8
66 vrintz.f32.f32 s0, s0
67 @ CHECK-V7: error: instruction requires: FPARMv8
68 vrintz.f64.f64 d0, d0
69 @ CHECK-V7: error: instruction requires: FPARMv8
70 vrintr.f32 s0, s1
71 @ CHECK-V7: error: instruction requires: FPARMv8
72 vrintr.f64 d0, d1
73 @ CHECK-V7: error: instruction requires: FPARMv8
74 vrintr.f32.f32 s0, s0
75 @ CHECK-V7: error: instruction requires: FPARMv8
76 vrintr.f64.f64 d0, d0
77 @ CHECK-V7: error: instruction requires: FPARMv8
78 vrintx.f32 s0, s1
79 @ CHECK-V7: error: instruction requires: FPARMv8
80 vrintx.f64 d0, d1
81 @ CHECK-V7: error: instruction requires: FPARMv8
82 vrintx.f32.f32 s0, s0
83 @ CHECK-V7: error: instruction requires: FPARMv8
84 vrintx.f64.f64 d0, d0
85 @ CHECK-V7: error: instruction requires: FPARMv8
87 vrinta.f32 s0, s0
88 @ CHECK-V7: error: instruction requires: FPARMv8
89 vrinta.f64 d0, d0
90 @ CHECK-V7: error: instruction requires: FPARMv8
91 vrinta.f32.f32 s0, s0
92 @ CHECK-V7: error: instruction requires: FPARMv8
93 vrinta.f64.f64 d0, d0
94 @ CHECK-V7: error: instruction requires: FPARMv8
95 vrintn.f32 s0, s0
96 @ CHECK-V7: error: instruction requires: FPARMv8
97 vrintn.f64 d0, d0
98 @ CHECK-V7: error: instruction requires: FPARMv8
99 vrintn.f32.f32 s0, s0
100 @ CHECK-V7: error: instruction requires: FPARMv8
101 vrintn.f64.f64 d0, d0
102 @ CHECK-V7: error: instruction requires: FPARMv8
103 vrintp.f32 s0, s0
104 @ CHECK-V7: error: instruction requires: FPARMv8
105 vrintp.f64 d0, d0
106 @ CHECK-V7: error: instruction requires: FPARMv8
107 vrintp.f32.f32 s0, s0
108 @ CHECK-V7: error: instruction requires: FPARMv8
109 vrintp.f64.f64 d0, d0
110 @ CHECK-V7: error: instruction requires: FPARMv8
111 vrintm.f32 s0, s0
112 @ CHECK-V7: error: instruction requires: FPARMv8
113 vrintm.f64 d0, d0
114 @ CHECK-V7: error: instruction requires: FPARMv8
115 vrintm.f32.f32 s0, s0
116 @ CHECK-V7: error: instruction requires: FPARMv8
117 vrintm.f64.f64 d0, d0
118 @ CHECK-V7: error: instruction requires: FPARMv8
120 .arch_extension nosimd
121 @ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture
122 @ CHECK-V7-NEXT: .arch_extension nosimd
123 @ CHECK-V7-NEXT: ^
125 .type nosimd,%function
126 nosimd:
127 vmaxnm.f32 s0, s0, s0
128 @ CHECK: error: instruction requires: FPARMv8
129 vminnm.f32 s0, s0, s0
130 @ CHECK: error: instruction requires: FPARMv8
132 vmaxnm.f64 d0, d0, d0
133 @ CHECK: error: instruction requires: FPARMv8
134 vminnm.f64 d0, d0, d0
135 @ CHECK: error: instruction requires: FPARMv8
137 vcvta.s32.f32 s0, s0
138 @ CHECK: error: instruction requires: FPARMv8
139 vcvta.u32.f32 s0, s0
140 @ CHECK: error: instruction requires: FPARMv8
141 vcvta.s32.f64 s0, d0
142 @ CHECK: error: instruction requires: FPARMv8
143 vcvta.u32.f64 s0, d0
144 @ CHECK: error: instruction requires: FPARMv8
145 vcvtn.s32.f32 s0, s0
146 @ CHECK: error: instruction requires: FPARMv8
147 vcvtn.u32.f32 s0, s0
148 @ CHECK: error: instruction requires: FPARMv8
149 vcvtn.s32.f64 s0, d0
150 @ CHECK: error: instruction requires: FPARMv8
151 vcvtn.u32.f64 s0, d0
152 @ CHECK: error: instruction requires: FPARMv8
153 vcvtp.s32.f32 s0, s0
154 @ CHECK: error: instruction requires: FPARMv8
155 vcvtp.u32.f32 s0, s0
156 @ CHECK: error: instruction requires: FPARMv8
157 vcvtp.s32.f64 s0, d0
158 @ CHECK: error: instruction requires: FPARMv8
159 vcvtp.u32.f64 s0, d0
160 @ CHECK: error: instruction requires: FPARMv8
161 vcvtm.s32.f32 s0, s0
162 @ CHECK: error: instruction requires: FPARMv8
163 vcvtm.u32.f32 s0, s0
164 @ CHECK: error: instruction requires: FPARMv8
165 vcvtm.s32.f64 s0, d0
166 @ CHECK: error: instruction requires: FPARMv8
167 vcvtm.u32.f64 s0, d0
168 @ CHECK: error: instruction requires: FPARMv8
170 vrintz.f32 s0, s1
171 @ CHECK: error: instruction requires: FPARMv8
172 vrintz.f64 d0, d1
173 @ CHECK: error: instruction requires: FPARMv8
174 vrintz.f32.f32 s0, s0
175 @ CHECK: error: instruction requires: FPARMv8
176 vrintz.f64.f64 d0, d0
177 @ CHECK: error: instruction requires: FPARMv8
178 vrintr.f32 s0, s1
179 @ CHECK: error: instruction requires: FPARMv8
180 vrintr.f64 d0, d1
181 @ CHECK: error: instruction requires: FPARMv8
182 vrintr.f32.f32 s0, s0
183 @ CHECK: error: instruction requires: FPARMv8
184 vrintr.f64.f64 d0, d0
185 @ CHECK: error: instruction requires: FPARMv8
186 vrintx.f32 s0, s1
187 @ CHECK: error: instruction requires: FPARMv8
188 vrintx.f64 d0, d1
189 @ CHECK: error: instruction requires: FPARMv8
190 vrintx.f32.f32 s0, s0
191 @ CHECK: error: instruction requires: FPARMv8
192 vrintx.f64.f64 d0, d0
193 @ CHECK: error: instruction requires: FPARMv8
195 vrinta.f32 s0, s0
196 @ CHECK: error: instruction requires: FPARMv8
197 vrinta.f64 d0, d0
198 @ CHECK: error: instruction requires: FPARMv8
199 vrinta.f32.f32 s0, s0
200 @ CHECK: error: instruction requires: FPARMv8
201 vrinta.f64.f64 d0, d0
202 @ CHECK: error: instruction requires: FPARMv8
203 vrintn.f32 s0, s0
204 @ CHECK: error: instruction requires: FPARMv8
205 vrintn.f64 d0, d0
206 @ CHECK: error: instruction requires: FPARMv8
207 vrintn.f32.f32 s0, s0
208 @ CHECK: error: instruction requires: FPARMv8
209 vrintn.f64.f64 d0, d0
210 @ CHECK: error: instruction requires: FPARMv8
211 vrintp.f32 s0, s0
212 @ CHECK: error: instruction requires: FPARMv8
213 vrintp.f64 d0, d0
214 @ CHECK: error: instruction requires: FPARMv8
215 vrintp.f32.f32 s0, s0
216 @ CHECK: error: instruction requires: FPARMv8
217 vrintp.f64.f64 d0, d0
218 @ CHECK: error: instruction requires: FPARMv8
219 vrintm.f32 s0, s0
220 @ CHECK: error: instruction requires: FPARMv8
221 vrintm.f64 d0, d0
222 @ CHECK: error: instruction requires: FPARMv8
223 vrintm.f32.f32 s0, s0
224 @ CHECK: error: instruction requires: FPARMv8
225 vrintm.f64.f64 d0, d0
226 @ CHECK: error: instruction requires: FPARMv8