1 /* For each of several ARM architecture features, check that relevant
2    macros are defined or not, and that they have the expected values.  */
3 
4 #ifdef NEED_ARM_ARCH
5 # ifdef __ARM_ARCH
6 #  if __ARM_ARCH != VALUE_ARM_ARCH
7 #   error __ARM_ARCH has unexpected value
8 #  endif
9 # else
10 #  error __ARM_ARCH is not defined but should be
11 # endif
12 #else
13 # ifdef __ARM_ARCH
14 #  error __ARM_ARCH is defined but should not be
15 # endif
16 #endif
17 
18 #ifdef NEED_ARM_ARCH_ISA_ARM
19 # ifdef __ARM_ARCH_ISA_ARM
20 #  if __ARM_ARCH_ISA_ARM != VALUE_ARM_ARCH_ISA_ARM
21 #   error __ARM_ARCH_ISA_ARM has unexpected value
22 #  endif
23 # else
24 #  error __ARM_ARCH_ISA_ARM is not defined but should be
25 # endif
26 #else
27 # ifdef __ARM_ARCH_ISA_ARM
28 #  error __ARM_ARCH_ISA_ARM is defined but should not be
29 # endif
30 #endif
31 
32 #ifdef NEED_ARM_ARCH_ISA_THUMB
33 # ifdef __ARM_ARCH_ISA_THUMB
34 #  if __ARM_ARCH_ISA_THUMB != VALUE_ARM_ARCH_ISA_THUMB
35 #   error __ARM_ARCH_ISA_THUMB has unexpected value
36 #  endif
37 # else
38 #  error __ARM_ARCH_ISA_THUMB is not defined but should be
39 # endif
40 #else
41 # ifdef __ARM_ARCH_ISA_THUMB
42 #  error __ARM_ARCH_ISA_THUMB is defined but should not be
43 # endif
44 #endif
45 
46 #ifdef NEED_ARM_ARCH_PROFILE
47 # ifdef __ARM_ARCH_PROFILE
48 #  if __ARM_ARCH_PROFILE != VALUE_ARM_ARCH_PROFILE
49 #   error __ARM_ARCH_PROFILE has unexpected value
50 #  endif
51 # else
52 #  error __ARM_ARCH_PROFILE is not defined but should be
53 # endif
54 #else
55 # ifdef __ARM_ARCH_PROFILE
56 #  error __ARM_ARCH_PROFILE is defined but should not be
57 # endif
58 #endif
59 
60 #ifdef NEED_ARM_FEATURE_UNALIGNED
61 # ifdef __ARM_FEATURE_UNALIGNED
62 #  if __ARM_FEATURE_UNALIGNED != VALUE_ARM_FEATURE_UNALIGNED
63 #   error __ARM_FEATURE_UNALIGNED has unexpected value
64 #  endif
65 # else
66 #  error __ARM_FEATURE_UNALIGNED is not defined but should be
67 # endif
68 #else
69 # ifdef __ARM_FEATURE_UNALIGNED
70 #  error __ARM_FEATURE_UNALIGNED is defined but should not be
71 # endif
72 #endif
73 
74 #ifdef NEED_ARM_FEATURE_LDREX
75 # ifdef __ARM_FEATURE_LDREX
76 #  if __ARM_FEATURE_LDREX != VALUE_ARM_FEATURE_LDREX
77 #   error __ARM_FEATURE_LDREX has unexpected value
78 #  endif
79 # else
80 #  error __ARM_FEATURE_LDREX is not defined but should be
81 # endif
82 #else
83 # ifdef __ARM_FEATURE_LDREX
84 #  error __ARM_FEATURE_LDREX is defined but should not be
85 # endif
86 #endif
87 
88 #ifdef NEED_ARM_FEATURE_CLZ
89 # ifdef __ARM_FEATURE_CLZ
90 #  if __ARM_FEATURE_CLZ != VALUE_ARM_FEATURE_CLZ
91 #   error __ARM_FEATURE_CLZ has unexpected value
92 #  endif
93 # else
94 #  error __ARM_FEATURE_CLZ is not defined but should be
95 # endif
96 #else
97 # ifdef __ARM_FEATURE_CLZ
98 #  error __ARM_FEATURE_CLZ is defined but should not be
99 # endif
100 #endif
101 
102 #ifdef NEED_ARM_FEATURE_DSP
103 # ifdef __ARM_FEATURE_DSP
104 #  if __ARM_FEATURE_DSP != VALUE_ARM_FEATURE_DSP
105 #   error __ARM_FEATURE_DSP has unexpected value
106 #  endif
107 # else
108 #  error __ARM_FEATURE_DSP is not defined but should be
109 # endif
110 #else
111 # ifdef __ARM_FEATURE_DSP
112 #  error __ARM_FEATURE_DSP is defined but should not be
113 # endif
114 #endif
115 
116 #ifdef NEED_ARM_FEATURE_SIMD32
117 # ifdef __ARM_FEATURE_SIMD32
118 #  if __ARM_FEATURE_SIMD32 != VALUE_ARM_FEATURE_SIMD32
119 #   error __ARM_FEATURE_SIMD32 has unexpected value
120 #  endif
121 # else
122 #  error __ARM_FEATURE_SIMD32 is not defined but should be
123 # endif
124 #else
125 # ifdef __ARM_FEATURE_SIMD32
126 #  error __ARM_FEATURE_SIMD32 is defined but should not be
127 # endif
128 #endif
129 
130 #ifdef NEED_ARM_FEATURE_QBIT
131 # ifdef __ARM_FEATURE_QBIT
132 #  if __ARM_FEATURE_QBIT != VALUE_ARM_FEATURE_QBIT
133 #   error __ARM_FEATURE_QBIT has unexpected value
134 #  endif
135 # else
136 #  error __ARM_FEATURE_QBIT is not defined but should be
137 # endif
138 #else
139 # ifdef __ARM_FEATURE_QBIT
140 #  error __ARM_FEATURE_QBIT is defined but should not be
141 # endif
142 #endif
143 
144 #ifdef NEED_ARM_FEATURE_SAT
145 # ifdef __ARM_FEATURE_SAT
146 #  if __ARM_FEATURE_SAT != VALUE_ARM_FEATURE_SAT
147 #   error __ARM_FEATURE_SAT has unexpected value
148 #  endif
149 # else
150 #  error __ARM_FEATURE_SAT is not defined but should be
151 # endif
152 #else
153 # ifdef __ARM_FEATURE_SAT
154 #  error __ARM_FEATURE_SAT is defined but should not be
155 # endif
156 #endif
157