]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_2.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 #pragma GCC push_options
5 #pragma GCC target ("arch=armv8-a")
7 #pragma GCC push_options
8 #pragma GCC target ("arch=armv8-a+tme")
9 #ifndef __ARM_FEATURE_TME
10 #error "__ARM_FEATURE_TME is not defined but should be!"
13 #pragma GCC pop_options
15 #ifdef __ARM_FEATURE_TME
16 #error "__ARM_FEATURE_TME is defined but should not be!"
19 /* Test Armv8.6-A features. */
21 #ifdef __ARM_FEATURE_MATMUL_INT8
22 #error "__ARM_FEATURE_MATMUL_INT8 is defined but should not be!"
24 #ifdef __ARM_FEATURE_SVE_MATMUL_INT8
25 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
27 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
28 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
30 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
31 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
34 #pragma GCC push_options
35 #pragma GCC target ("arch=armv8.6-a")
36 #ifndef __ARM_FEATURE_MATMUL_INT8
37 #error "__ARM_FEATURE_MATMUL_INT8 is not defined but should be!"
39 #ifdef __ARM_FEATURE_SVE
40 #error "__ARM_FEATURE_SVE is defined but should not be!"
42 #ifdef __ARM_FEATURE_SVE_MATMUL_INT8
43 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
45 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
46 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
48 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
49 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
51 #pragma GCC pop_options
53 #pragma GCC push_options
54 #pragma GCC target ("arch=armv8.6-a+sve")
55 #ifndef __ARM_FEATURE_MATMUL_INT8
56 #error "__ARM_FEATURE_MATMUL_INT8 is not defined but should be!"
58 #ifndef __ARM_FEATURE_SVE
59 #error "__ARM_FEATURE_SVE is not defined but should be!"
61 #ifndef __ARM_FEATURE_SVE_MATMUL_INT8
62 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is not defined but should be!"
64 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
65 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
67 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
68 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
70 #pragma GCC pop_options
72 #pragma GCC push_options
73 #pragma GCC target ("arch=armv8.2-a+i8mm")
74 #ifndef __ARM_FEATURE_MATMUL_INT8
75 #error "__ARM_FEATURE_MATMUL_INT8 is not defined but should be!"
77 #ifdef __ARM_FEATURE_SVE
78 #error "__ARM_FEATURE_SVE is defined but should not be!"
80 #ifdef __ARM_FEATURE_SVE_MATMUL_INT8
81 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
83 #pragma GCC pop_options
85 #pragma GCC push_options
86 #pragma GCC target ("arch=armv8.2-a+i8mm+sve")
87 #ifndef __ARM_FEATURE_MATMUL_INT8
88 #error "__ARM_FEATURE_MATMUL_INT8 is not defined but should be!"
90 #ifndef __ARM_FEATURE_SVE
91 #error "__ARM_FEATURE_SVE is not defined but should be!"
93 #ifndef __ARM_FEATURE_SVE_MATMUL_INT8
94 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is not defined but should be!"
96 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
97 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
99 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
100 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
102 #pragma GCC pop_options
104 #pragma GCC push_options
105 #pragma GCC target ("arch=armv8.2-a+f32mm")
106 #ifndef __ARM_FEATURE_SVE
107 #error "__ARM_FEATURE_SVE is not defined but should be!"
109 #ifdef __ARM_FEATURE_SVE_MATMUL_INT8
110 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
112 #ifndef __ARM_FEATURE_SVE_MATMUL_FP32
113 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is not defined but should be!"
115 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
116 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
118 #pragma GCC pop_options
120 #pragma GCC push_options
121 #pragma GCC target ("arch=armv8.2-a+f64mm")
122 #ifndef __ARM_FEATURE_SVE
123 #error "__ARM_FEATURE_SVE is not defined but should be!"
125 #ifdef __ARM_FEATURE_SVE_MATMUL_INT8
126 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
128 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
129 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
131 #ifndef __ARM_FEATURE_SVE_MATMUL_FP64
132 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is not defined but should be!"
134 #pragma GCC pop_options
136 #pragma GCC push_options
137 #pragma GCC target ("arch=armv8.6-a+nosimd")
138 #ifdef __ARM_FEATURE_MATMUL_INT8
139 #error "__ARM_FEATURE_MATMUL_INT8 is defined but should not be!"
141 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
142 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
144 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
145 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
147 #pragma GCC pop_options
149 #pragma GCC push_options
150 #pragma GCC target ("arch=armv8.6-a+nofp")
151 #ifdef __ARM_FEATURE_MATMUL_INT8
152 #error "__ARM_FEATURE_MATMUL_INT8 is defined but should not be!"
154 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
155 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
157 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
158 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
160 #pragma GCC pop_options
162 #ifdef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC
163 #error "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC is defined but should not be!"
165 #ifdef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC
166 #error "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC is defined but should not be!"
169 #pragma GCC push_options
170 #pragma GCC target ("arch=armv8.6-a")
171 #ifndef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC
172 #error "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC is not defined but should be!"
174 #ifndef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC
175 #error "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC is not defined but should be!"
177 #pragma GCC pop_options
179 #pragma GCC push_options
180 #pragma GCC target ("arch=armv8.2-a+bf16")
181 #ifndef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC
182 #error "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC is not defined but should be!"
184 #ifndef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC
185 #error "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC is not defined but should be!"
187 #pragma GCC pop_options
189 #pragma GCC push_options
190 #pragma GCC target ("arch=armv8.2-a+bf16+nosimd")
191 #ifndef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC
192 #error "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC is not defined but should be!"
194 #ifdef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC
195 #error "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC is defined but should not be!"
197 #pragma GCC pop_options
199 #pragma GCC push_options
200 #pragma GCC target ("arch=armv8.6-a+nofp")
201 #ifdef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC
202 #error "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC is defined but should not be!"
204 #ifdef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC
205 #error "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC is defined but should not be!"
207 #pragma GCC pop_options
209 #pragma GCC pop_options
211 /* Make sure that general-regs-only works too. */
212 #pragma GCC push_options
213 #pragma GCC target ("arch=armv8.2-a+sve+i8mm+f32mm+f64mm")
214 #ifndef __ARM_FEATURE_SVE
215 #error "__ARM_FEATURE_SVE is not defined but should be!"
217 #ifndef __ARM_FEATURE_SVE_MATMUL_INT8
218 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is not defined but should be!"
220 #ifndef __ARM_FEATURE_SVE_MATMUL_FP32
221 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is not defined but should be!"
223 #ifndef __ARM_FEATURE_SVE_MATMUL_FP64
224 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is not defined but should be!"
227 #pragma GCC push_options
228 #pragma GCC target ("general-regs-only")
229 #ifdef __ARM_FEATURE_SVE
230 #error "__ARM_FEATURE_SVE is defined but should not be!"
232 #ifdef __ARM_FEATURE_SVE_MATMUL_INT8
233 #error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
235 #ifdef __ARM_FEATURE_SVE_MATMUL_FP32
236 #error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
238 #ifdef __ARM_FEATURE_SVE_MATMUL_FP64
239 #error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
241 #pragma GCC pop_options
243 #pragma GCC push_options
244 #pragma GCC target ("arch=armv8.7-a")
245 #ifndef __ARM_FEATURE_LS64
246 #error "__ARM_FEATURE_LS64 is not defined but should be!"
248 #pragma GCC pop_options
250 #pragma GCC push_options
251 #pragma GCC target ("arch=armv8.7-a+ls64")
252 #ifndef __ARM_FEATURE_LS64
253 #error "__ARM_FEATURE_LS64 is not defined but should be!"
255 #pragma GCC pop_options
257 #pragma GCC pop_options