EstervQrCode
1.1.1
Library for qr code manipulation
build
release
_deps
opencv-src
include
opencv4
opencv2
core
cv_cpu_helper.h
1
// AUTOGENERATED, DO NOT EDIT
2
3
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE
4
# define CV_TRY_SSE 1
5
# define CV_CPU_FORCE_SSE 1
6
# define CV_CPU_HAS_SUPPORT_SSE 1
7
# define CV_CPU_CALL_SSE(fn, args) return (cpu_baseline::fn args)
8
# define CV_CPU_CALL_SSE_(fn, args) return (opt_SSE::fn args)
9
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE
10
# define CV_TRY_SSE 1
11
# define CV_CPU_FORCE_SSE 0
12
# define CV_CPU_HAS_SUPPORT_SSE (cv::checkHardwareSupport(CV_CPU_SSE))
13
# define CV_CPU_CALL_SSE(fn, args) if (CV_CPU_HAS_SUPPORT_SSE) return (opt_SSE::fn args)
14
# define CV_CPU_CALL_SSE_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE) return (opt_SSE::fn args)
15
#else
16
# define CV_TRY_SSE 0
17
# define CV_CPU_FORCE_SSE 0
18
# define CV_CPU_HAS_SUPPORT_SSE 0
19
# define CV_CPU_CALL_SSE(fn, args)
20
# define CV_CPU_CALL_SSE_(fn, args)
21
#endif
22
#define __CV_CPU_DISPATCH_CHAIN_SSE(fn, args, mode, ...) CV_CPU_CALL_SSE(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
23
24
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE2
25
# define CV_TRY_SSE2 1
26
# define CV_CPU_FORCE_SSE2 1
27
# define CV_CPU_HAS_SUPPORT_SSE2 1
28
# define CV_CPU_CALL_SSE2(fn, args) return (cpu_baseline::fn args)
29
# define CV_CPU_CALL_SSE2_(fn, args) return (opt_SSE2::fn args)
30
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE2
31
# define CV_TRY_SSE2 1
32
# define CV_CPU_FORCE_SSE2 0
33
# define CV_CPU_HAS_SUPPORT_SSE2 (cv::checkHardwareSupport(CV_CPU_SSE2))
34
# define CV_CPU_CALL_SSE2(fn, args) if (CV_CPU_HAS_SUPPORT_SSE2) return (opt_SSE2::fn args)
35
# define CV_CPU_CALL_SSE2_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE2) return (opt_SSE2::fn args)
36
#else
37
# define CV_TRY_SSE2 0
38
# define CV_CPU_FORCE_SSE2 0
39
# define CV_CPU_HAS_SUPPORT_SSE2 0
40
# define CV_CPU_CALL_SSE2(fn, args)
41
# define CV_CPU_CALL_SSE2_(fn, args)
42
#endif
43
#define __CV_CPU_DISPATCH_CHAIN_SSE2(fn, args, mode, ...) CV_CPU_CALL_SSE2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
44
45
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE3
46
# define CV_TRY_SSE3 1
47
# define CV_CPU_FORCE_SSE3 1
48
# define CV_CPU_HAS_SUPPORT_SSE3 1
49
# define CV_CPU_CALL_SSE3(fn, args) return (cpu_baseline::fn args)
50
# define CV_CPU_CALL_SSE3_(fn, args) return (opt_SSE3::fn args)
51
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE3
52
# define CV_TRY_SSE3 1
53
# define CV_CPU_FORCE_SSE3 0
54
# define CV_CPU_HAS_SUPPORT_SSE3 (cv::checkHardwareSupport(CV_CPU_SSE3))
55
# define CV_CPU_CALL_SSE3(fn, args) if (CV_CPU_HAS_SUPPORT_SSE3) return (opt_SSE3::fn args)
56
# define CV_CPU_CALL_SSE3_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE3) return (opt_SSE3::fn args)
57
#else
58
# define CV_TRY_SSE3 0
59
# define CV_CPU_FORCE_SSE3 0
60
# define CV_CPU_HAS_SUPPORT_SSE3 0
61
# define CV_CPU_CALL_SSE3(fn, args)
62
# define CV_CPU_CALL_SSE3_(fn, args)
63
#endif
64
#define __CV_CPU_DISPATCH_CHAIN_SSE3(fn, args, mode, ...) CV_CPU_CALL_SSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
65
66
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSSE3
67
# define CV_TRY_SSSE3 1
68
# define CV_CPU_FORCE_SSSE3 1
69
# define CV_CPU_HAS_SUPPORT_SSSE3 1
70
# define CV_CPU_CALL_SSSE3(fn, args) return (cpu_baseline::fn args)
71
# define CV_CPU_CALL_SSSE3_(fn, args) return (opt_SSSE3::fn args)
72
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSSE3
73
# define CV_TRY_SSSE3 1
74
# define CV_CPU_FORCE_SSSE3 0
75
# define CV_CPU_HAS_SUPPORT_SSSE3 (cv::checkHardwareSupport(CV_CPU_SSSE3))
76
# define CV_CPU_CALL_SSSE3(fn, args) if (CV_CPU_HAS_SUPPORT_SSSE3) return (opt_SSSE3::fn args)
77
# define CV_CPU_CALL_SSSE3_(fn, args) if (CV_CPU_HAS_SUPPORT_SSSE3) return (opt_SSSE3::fn args)
78
#else
79
# define CV_TRY_SSSE3 0
80
# define CV_CPU_FORCE_SSSE3 0
81
# define CV_CPU_HAS_SUPPORT_SSSE3 0
82
# define CV_CPU_CALL_SSSE3(fn, args)
83
# define CV_CPU_CALL_SSSE3_(fn, args)
84
#endif
85
#define __CV_CPU_DISPATCH_CHAIN_SSSE3(fn, args, mode, ...) CV_CPU_CALL_SSSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
86
87
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE4_1
88
# define CV_TRY_SSE4_1 1
89
# define CV_CPU_FORCE_SSE4_1 1
90
# define CV_CPU_HAS_SUPPORT_SSE4_1 1
91
# define CV_CPU_CALL_SSE4_1(fn, args) return (cpu_baseline::fn args)
92
# define CV_CPU_CALL_SSE4_1_(fn, args) return (opt_SSE4_1::fn args)
93
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE4_1
94
# define CV_TRY_SSE4_1 1
95
# define CV_CPU_FORCE_SSE4_1 0
96
# define CV_CPU_HAS_SUPPORT_SSE4_1 (cv::checkHardwareSupport(CV_CPU_SSE4_1))
97
# define CV_CPU_CALL_SSE4_1(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_1) return (opt_SSE4_1::fn args)
98
# define CV_CPU_CALL_SSE4_1_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_1) return (opt_SSE4_1::fn args)
99
#else
100
# define CV_TRY_SSE4_1 0
101
# define CV_CPU_FORCE_SSE4_1 0
102
# define CV_CPU_HAS_SUPPORT_SSE4_1 0
103
# define CV_CPU_CALL_SSE4_1(fn, args)
104
# define CV_CPU_CALL_SSE4_1_(fn, args)
105
#endif
106
#define __CV_CPU_DISPATCH_CHAIN_SSE4_1(fn, args, mode, ...) CV_CPU_CALL_SSE4_1(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
107
108
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE4_2
109
# define CV_TRY_SSE4_2 1
110
# define CV_CPU_FORCE_SSE4_2 1
111
# define CV_CPU_HAS_SUPPORT_SSE4_2 1
112
# define CV_CPU_CALL_SSE4_2(fn, args) return (cpu_baseline::fn args)
113
# define CV_CPU_CALL_SSE4_2_(fn, args) return (opt_SSE4_2::fn args)
114
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE4_2
115
# define CV_TRY_SSE4_2 1
116
# define CV_CPU_FORCE_SSE4_2 0
117
# define CV_CPU_HAS_SUPPORT_SSE4_2 (cv::checkHardwareSupport(CV_CPU_SSE4_2))
118
# define CV_CPU_CALL_SSE4_2(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_2) return (opt_SSE4_2::fn args)
119
# define CV_CPU_CALL_SSE4_2_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_2) return (opt_SSE4_2::fn args)
120
#else
121
# define CV_TRY_SSE4_2 0
122
# define CV_CPU_FORCE_SSE4_2 0
123
# define CV_CPU_HAS_SUPPORT_SSE4_2 0
124
# define CV_CPU_CALL_SSE4_2(fn, args)
125
# define CV_CPU_CALL_SSE4_2_(fn, args)
126
#endif
127
#define __CV_CPU_DISPATCH_CHAIN_SSE4_2(fn, args, mode, ...) CV_CPU_CALL_SSE4_2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
128
129
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_POPCNT
130
# define CV_TRY_POPCNT 1
131
# define CV_CPU_FORCE_POPCNT 1
132
# define CV_CPU_HAS_SUPPORT_POPCNT 1
133
# define CV_CPU_CALL_POPCNT(fn, args) return (cpu_baseline::fn args)
134
# define CV_CPU_CALL_POPCNT_(fn, args) return (opt_POPCNT::fn args)
135
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_POPCNT
136
# define CV_TRY_POPCNT 1
137
# define CV_CPU_FORCE_POPCNT 0
138
# define CV_CPU_HAS_SUPPORT_POPCNT (cv::checkHardwareSupport(CV_CPU_POPCNT))
139
# define CV_CPU_CALL_POPCNT(fn, args) if (CV_CPU_HAS_SUPPORT_POPCNT) return (opt_POPCNT::fn args)
140
# define CV_CPU_CALL_POPCNT_(fn, args) if (CV_CPU_HAS_SUPPORT_POPCNT) return (opt_POPCNT::fn args)
141
#else
142
# define CV_TRY_POPCNT 0
143
# define CV_CPU_FORCE_POPCNT 0
144
# define CV_CPU_HAS_SUPPORT_POPCNT 0
145
# define CV_CPU_CALL_POPCNT(fn, args)
146
# define CV_CPU_CALL_POPCNT_(fn, args)
147
#endif
148
#define __CV_CPU_DISPATCH_CHAIN_POPCNT(fn, args, mode, ...) CV_CPU_CALL_POPCNT(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
149
150
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX
151
# define CV_TRY_AVX 1
152
# define CV_CPU_FORCE_AVX 1
153
# define CV_CPU_HAS_SUPPORT_AVX 1
154
# define CV_CPU_CALL_AVX(fn, args) return (cpu_baseline::fn args)
155
# define CV_CPU_CALL_AVX_(fn, args) return (opt_AVX::fn args)
156
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX
157
# define CV_TRY_AVX 1
158
# define CV_CPU_FORCE_AVX 0
159
# define CV_CPU_HAS_SUPPORT_AVX (cv::checkHardwareSupport(CV_CPU_AVX))
160
# define CV_CPU_CALL_AVX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX) return (opt_AVX::fn args)
161
# define CV_CPU_CALL_AVX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX) return (opt_AVX::fn args)
162
#else
163
# define CV_TRY_AVX 0
164
# define CV_CPU_FORCE_AVX 0
165
# define CV_CPU_HAS_SUPPORT_AVX 0
166
# define CV_CPU_CALL_AVX(fn, args)
167
# define CV_CPU_CALL_AVX_(fn, args)
168
#endif
169
#define __CV_CPU_DISPATCH_CHAIN_AVX(fn, args, mode, ...) CV_CPU_CALL_AVX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
170
171
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_FP16
172
# define CV_TRY_FP16 1
173
# define CV_CPU_FORCE_FP16 1
174
# define CV_CPU_HAS_SUPPORT_FP16 1
175
# define CV_CPU_CALL_FP16(fn, args) return (cpu_baseline::fn args)
176
# define CV_CPU_CALL_FP16_(fn, args) return (opt_FP16::fn args)
177
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_FP16
178
# define CV_TRY_FP16 1
179
# define CV_CPU_FORCE_FP16 0
180
# define CV_CPU_HAS_SUPPORT_FP16 (cv::checkHardwareSupport(CV_CPU_FP16))
181
# define CV_CPU_CALL_FP16(fn, args) if (CV_CPU_HAS_SUPPORT_FP16) return (opt_FP16::fn args)
182
# define CV_CPU_CALL_FP16_(fn, args) if (CV_CPU_HAS_SUPPORT_FP16) return (opt_FP16::fn args)
183
#else
184
# define CV_TRY_FP16 0
185
# define CV_CPU_FORCE_FP16 0
186
# define CV_CPU_HAS_SUPPORT_FP16 0
187
# define CV_CPU_CALL_FP16(fn, args)
188
# define CV_CPU_CALL_FP16_(fn, args)
189
#endif
190
#define __CV_CPU_DISPATCH_CHAIN_FP16(fn, args, mode, ...) CV_CPU_CALL_FP16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
191
192
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX2
193
# define CV_TRY_AVX2 1
194
# define CV_CPU_FORCE_AVX2 1
195
# define CV_CPU_HAS_SUPPORT_AVX2 1
196
# define CV_CPU_CALL_AVX2(fn, args) return (cpu_baseline::fn args)
197
# define CV_CPU_CALL_AVX2_(fn, args) return (opt_AVX2::fn args)
198
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX2
199
# define CV_TRY_AVX2 1
200
# define CV_CPU_FORCE_AVX2 0
201
# define CV_CPU_HAS_SUPPORT_AVX2 (cv::checkHardwareSupport(CV_CPU_AVX2))
202
# define CV_CPU_CALL_AVX2(fn, args) if (CV_CPU_HAS_SUPPORT_AVX2) return (opt_AVX2::fn args)
203
# define CV_CPU_CALL_AVX2_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX2) return (opt_AVX2::fn args)
204
#else
205
# define CV_TRY_AVX2 0
206
# define CV_CPU_FORCE_AVX2 0
207
# define CV_CPU_HAS_SUPPORT_AVX2 0
208
# define CV_CPU_CALL_AVX2(fn, args)
209
# define CV_CPU_CALL_AVX2_(fn, args)
210
#endif
211
#define __CV_CPU_DISPATCH_CHAIN_AVX2(fn, args, mode, ...) CV_CPU_CALL_AVX2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
212
213
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_FMA3
214
# define CV_TRY_FMA3 1
215
# define CV_CPU_FORCE_FMA3 1
216
# define CV_CPU_HAS_SUPPORT_FMA3 1
217
# define CV_CPU_CALL_FMA3(fn, args) return (cpu_baseline::fn args)
218
# define CV_CPU_CALL_FMA3_(fn, args) return (opt_FMA3::fn args)
219
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_FMA3
220
# define CV_TRY_FMA3 1
221
# define CV_CPU_FORCE_FMA3 0
222
# define CV_CPU_HAS_SUPPORT_FMA3 (cv::checkHardwareSupport(CV_CPU_FMA3))
223
# define CV_CPU_CALL_FMA3(fn, args) if (CV_CPU_HAS_SUPPORT_FMA3) return (opt_FMA3::fn args)
224
# define CV_CPU_CALL_FMA3_(fn, args) if (CV_CPU_HAS_SUPPORT_FMA3) return (opt_FMA3::fn args)
225
#else
226
# define CV_TRY_FMA3 0
227
# define CV_CPU_FORCE_FMA3 0
228
# define CV_CPU_HAS_SUPPORT_FMA3 0
229
# define CV_CPU_CALL_FMA3(fn, args)
230
# define CV_CPU_CALL_FMA3_(fn, args)
231
#endif
232
#define __CV_CPU_DISPATCH_CHAIN_FMA3(fn, args, mode, ...) CV_CPU_CALL_FMA3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
233
234
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX_512F
235
# define CV_TRY_AVX_512F 1
236
# define CV_CPU_FORCE_AVX_512F 1
237
# define CV_CPU_HAS_SUPPORT_AVX_512F 1
238
# define CV_CPU_CALL_AVX_512F(fn, args) return (cpu_baseline::fn args)
239
# define CV_CPU_CALL_AVX_512F_(fn, args) return (opt_AVX_512F::fn args)
240
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX_512F
241
# define CV_TRY_AVX_512F 1
242
# define CV_CPU_FORCE_AVX_512F 0
243
# define CV_CPU_HAS_SUPPORT_AVX_512F (cv::checkHardwareSupport(CV_CPU_AVX_512F))
244
# define CV_CPU_CALL_AVX_512F(fn, args) if (CV_CPU_HAS_SUPPORT_AVX_512F) return (opt_AVX_512F::fn args)
245
# define CV_CPU_CALL_AVX_512F_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX_512F) return (opt_AVX_512F::fn args)
246
#else
247
# define CV_TRY_AVX_512F 0
248
# define CV_CPU_FORCE_AVX_512F 0
249
# define CV_CPU_HAS_SUPPORT_AVX_512F 0
250
# define CV_CPU_CALL_AVX_512F(fn, args)
251
# define CV_CPU_CALL_AVX_512F_(fn, args)
252
#endif
253
#define __CV_CPU_DISPATCH_CHAIN_AVX_512F(fn, args, mode, ...) CV_CPU_CALL_AVX_512F(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
254
255
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_COMMON
256
# define CV_TRY_AVX512_COMMON 1
257
# define CV_CPU_FORCE_AVX512_COMMON 1
258
# define CV_CPU_HAS_SUPPORT_AVX512_COMMON 1
259
# define CV_CPU_CALL_AVX512_COMMON(fn, args) return (cpu_baseline::fn args)
260
# define CV_CPU_CALL_AVX512_COMMON_(fn, args) return (opt_AVX512_COMMON::fn args)
261
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_COMMON
262
# define CV_TRY_AVX512_COMMON 1
263
# define CV_CPU_FORCE_AVX512_COMMON 0
264
# define CV_CPU_HAS_SUPPORT_AVX512_COMMON (cv::checkHardwareSupport(CV_CPU_AVX512_COMMON))
265
# define CV_CPU_CALL_AVX512_COMMON(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_COMMON) return (opt_AVX512_COMMON::fn args)
266
# define CV_CPU_CALL_AVX512_COMMON_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_COMMON) return (opt_AVX512_COMMON::fn args)
267
#else
268
# define CV_TRY_AVX512_COMMON 0
269
# define CV_CPU_FORCE_AVX512_COMMON 0
270
# define CV_CPU_HAS_SUPPORT_AVX512_COMMON 0
271
# define CV_CPU_CALL_AVX512_COMMON(fn, args)
272
# define CV_CPU_CALL_AVX512_COMMON_(fn, args)
273
#endif
274
#define __CV_CPU_DISPATCH_CHAIN_AVX512_COMMON(fn, args, mode, ...) CV_CPU_CALL_AVX512_COMMON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
275
276
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_KNL
277
# define CV_TRY_AVX512_KNL 1
278
# define CV_CPU_FORCE_AVX512_KNL 1
279
# define CV_CPU_HAS_SUPPORT_AVX512_KNL 1
280
# define CV_CPU_CALL_AVX512_KNL(fn, args) return (cpu_baseline::fn args)
281
# define CV_CPU_CALL_AVX512_KNL_(fn, args) return (opt_AVX512_KNL::fn args)
282
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_KNL
283
# define CV_TRY_AVX512_KNL 1
284
# define CV_CPU_FORCE_AVX512_KNL 0
285
# define CV_CPU_HAS_SUPPORT_AVX512_KNL (cv::checkHardwareSupport(CV_CPU_AVX512_KNL))
286
# define CV_CPU_CALL_AVX512_KNL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNL) return (opt_AVX512_KNL::fn args)
287
# define CV_CPU_CALL_AVX512_KNL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNL) return (opt_AVX512_KNL::fn args)
288
#else
289
# define CV_TRY_AVX512_KNL 0
290
# define CV_CPU_FORCE_AVX512_KNL 0
291
# define CV_CPU_HAS_SUPPORT_AVX512_KNL 0
292
# define CV_CPU_CALL_AVX512_KNL(fn, args)
293
# define CV_CPU_CALL_AVX512_KNL_(fn, args)
294
#endif
295
#define __CV_CPU_DISPATCH_CHAIN_AVX512_KNL(fn, args, mode, ...) CV_CPU_CALL_AVX512_KNL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
296
297
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_KNM
298
# define CV_TRY_AVX512_KNM 1
299
# define CV_CPU_FORCE_AVX512_KNM 1
300
# define CV_CPU_HAS_SUPPORT_AVX512_KNM 1
301
# define CV_CPU_CALL_AVX512_KNM(fn, args) return (cpu_baseline::fn args)
302
# define CV_CPU_CALL_AVX512_KNM_(fn, args) return (opt_AVX512_KNM::fn args)
303
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_KNM
304
# define CV_TRY_AVX512_KNM 1
305
# define CV_CPU_FORCE_AVX512_KNM 0
306
# define CV_CPU_HAS_SUPPORT_AVX512_KNM (cv::checkHardwareSupport(CV_CPU_AVX512_KNM))
307
# define CV_CPU_CALL_AVX512_KNM(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNM) return (opt_AVX512_KNM::fn args)
308
# define CV_CPU_CALL_AVX512_KNM_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNM) return (opt_AVX512_KNM::fn args)
309
#else
310
# define CV_TRY_AVX512_KNM 0
311
# define CV_CPU_FORCE_AVX512_KNM 0
312
# define CV_CPU_HAS_SUPPORT_AVX512_KNM 0
313
# define CV_CPU_CALL_AVX512_KNM(fn, args)
314
# define CV_CPU_CALL_AVX512_KNM_(fn, args)
315
#endif
316
#define __CV_CPU_DISPATCH_CHAIN_AVX512_KNM(fn, args, mode, ...) CV_CPU_CALL_AVX512_KNM(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
317
318
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_SKX
319
# define CV_TRY_AVX512_SKX 1
320
# define CV_CPU_FORCE_AVX512_SKX 1
321
# define CV_CPU_HAS_SUPPORT_AVX512_SKX 1
322
# define CV_CPU_CALL_AVX512_SKX(fn, args) return (cpu_baseline::fn args)
323
# define CV_CPU_CALL_AVX512_SKX_(fn, args) return (opt_AVX512_SKX::fn args)
324
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_SKX
325
# define CV_TRY_AVX512_SKX 1
326
# define CV_CPU_FORCE_AVX512_SKX 0
327
# define CV_CPU_HAS_SUPPORT_AVX512_SKX (cv::checkHardwareSupport(CV_CPU_AVX512_SKX))
328
# define CV_CPU_CALL_AVX512_SKX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_SKX) return (opt_AVX512_SKX::fn args)
329
# define CV_CPU_CALL_AVX512_SKX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_SKX) return (opt_AVX512_SKX::fn args)
330
#else
331
# define CV_TRY_AVX512_SKX 0
332
# define CV_CPU_FORCE_AVX512_SKX 0
333
# define CV_CPU_HAS_SUPPORT_AVX512_SKX 0
334
# define CV_CPU_CALL_AVX512_SKX(fn, args)
335
# define CV_CPU_CALL_AVX512_SKX_(fn, args)
336
#endif
337
#define __CV_CPU_DISPATCH_CHAIN_AVX512_SKX(fn, args, mode, ...) CV_CPU_CALL_AVX512_SKX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
338
339
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_CNL
340
# define CV_TRY_AVX512_CNL 1
341
# define CV_CPU_FORCE_AVX512_CNL 1
342
# define CV_CPU_HAS_SUPPORT_AVX512_CNL 1
343
# define CV_CPU_CALL_AVX512_CNL(fn, args) return (cpu_baseline::fn args)
344
# define CV_CPU_CALL_AVX512_CNL_(fn, args) return (opt_AVX512_CNL::fn args)
345
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_CNL
346
# define CV_TRY_AVX512_CNL 1
347
# define CV_CPU_FORCE_AVX512_CNL 0
348
# define CV_CPU_HAS_SUPPORT_AVX512_CNL (cv::checkHardwareSupport(CV_CPU_AVX512_CNL))
349
# define CV_CPU_CALL_AVX512_CNL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CNL) return (opt_AVX512_CNL::fn args)
350
# define CV_CPU_CALL_AVX512_CNL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CNL) return (opt_AVX512_CNL::fn args)
351
#else
352
# define CV_TRY_AVX512_CNL 0
353
# define CV_CPU_FORCE_AVX512_CNL 0
354
# define CV_CPU_HAS_SUPPORT_AVX512_CNL 0
355
# define CV_CPU_CALL_AVX512_CNL(fn, args)
356
# define CV_CPU_CALL_AVX512_CNL_(fn, args)
357
#endif
358
#define __CV_CPU_DISPATCH_CHAIN_AVX512_CNL(fn, args, mode, ...) CV_CPU_CALL_AVX512_CNL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
359
360
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_CLX
361
# define CV_TRY_AVX512_CLX 1
362
# define CV_CPU_FORCE_AVX512_CLX 1
363
# define CV_CPU_HAS_SUPPORT_AVX512_CLX 1
364
# define CV_CPU_CALL_AVX512_CLX(fn, args) return (cpu_baseline::fn args)
365
# define CV_CPU_CALL_AVX512_CLX_(fn, args) return (opt_AVX512_CLX::fn args)
366
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_CLX
367
# define CV_TRY_AVX512_CLX 1
368
# define CV_CPU_FORCE_AVX512_CLX 0
369
# define CV_CPU_HAS_SUPPORT_AVX512_CLX (cv::checkHardwareSupport(CV_CPU_AVX512_CLX))
370
# define CV_CPU_CALL_AVX512_CLX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CLX) return (opt_AVX512_CLX::fn args)
371
# define CV_CPU_CALL_AVX512_CLX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CLX) return (opt_AVX512_CLX::fn args)
372
#else
373
# define CV_TRY_AVX512_CLX 0
374
# define CV_CPU_FORCE_AVX512_CLX 0
375
# define CV_CPU_HAS_SUPPORT_AVX512_CLX 0
376
# define CV_CPU_CALL_AVX512_CLX(fn, args)
377
# define CV_CPU_CALL_AVX512_CLX_(fn, args)
378
#endif
379
#define __CV_CPU_DISPATCH_CHAIN_AVX512_CLX(fn, args, mode, ...) CV_CPU_CALL_AVX512_CLX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
380
381
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_ICL
382
# define CV_TRY_AVX512_ICL 1
383
# define CV_CPU_FORCE_AVX512_ICL 1
384
# define CV_CPU_HAS_SUPPORT_AVX512_ICL 1
385
# define CV_CPU_CALL_AVX512_ICL(fn, args) return (cpu_baseline::fn args)
386
# define CV_CPU_CALL_AVX512_ICL_(fn, args) return (opt_AVX512_ICL::fn args)
387
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_ICL
388
# define CV_TRY_AVX512_ICL 1
389
# define CV_CPU_FORCE_AVX512_ICL 0
390
# define CV_CPU_HAS_SUPPORT_AVX512_ICL (cv::checkHardwareSupport(CV_CPU_AVX512_ICL))
391
# define CV_CPU_CALL_AVX512_ICL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_ICL) return (opt_AVX512_ICL::fn args)
392
# define CV_CPU_CALL_AVX512_ICL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_ICL) return (opt_AVX512_ICL::fn args)
393
#else
394
# define CV_TRY_AVX512_ICL 0
395
# define CV_CPU_FORCE_AVX512_ICL 0
396
# define CV_CPU_HAS_SUPPORT_AVX512_ICL 0
397
# define CV_CPU_CALL_AVX512_ICL(fn, args)
398
# define CV_CPU_CALL_AVX512_ICL_(fn, args)
399
#endif
400
#define __CV_CPU_DISPATCH_CHAIN_AVX512_ICL(fn, args, mode, ...) CV_CPU_CALL_AVX512_ICL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
401
402
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON
403
# define CV_TRY_NEON 1
404
# define CV_CPU_FORCE_NEON 1
405
# define CV_CPU_HAS_SUPPORT_NEON 1
406
# define CV_CPU_CALL_NEON(fn, args) return (cpu_baseline::fn args)
407
# define CV_CPU_CALL_NEON_(fn, args) return (opt_NEON::fn args)
408
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON
409
# define CV_TRY_NEON 1
410
# define CV_CPU_FORCE_NEON 0
411
# define CV_CPU_HAS_SUPPORT_NEON (cv::checkHardwareSupport(CV_CPU_NEON))
412
# define CV_CPU_CALL_NEON(fn, args) if (CV_CPU_HAS_SUPPORT_NEON) return (opt_NEON::fn args)
413
# define CV_CPU_CALL_NEON_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON) return (opt_NEON::fn args)
414
#else
415
# define CV_TRY_NEON 0
416
# define CV_CPU_FORCE_NEON 0
417
# define CV_CPU_HAS_SUPPORT_NEON 0
418
# define CV_CPU_CALL_NEON(fn, args)
419
# define CV_CPU_CALL_NEON_(fn, args)
420
#endif
421
#define __CV_CPU_DISPATCH_CHAIN_NEON(fn, args, mode, ...) CV_CPU_CALL_NEON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
422
423
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON_DOTPROD
424
# define CV_TRY_NEON_DOTPROD 1
425
# define CV_CPU_FORCE_NEON_DOTPROD 1
426
# define CV_CPU_HAS_SUPPORT_NEON_DOTPROD 1
427
# define CV_CPU_CALL_NEON_DOTPROD(fn, args) return (cpu_baseline::fn args)
428
# define CV_CPU_CALL_NEON_DOTPROD_(fn, args) return (opt_NEON_DOTPROD::fn args)
429
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON_DOTPROD
430
# define CV_TRY_NEON_DOTPROD 1
431
# define CV_CPU_FORCE_NEON_DOTPROD 0
432
# define CV_CPU_HAS_SUPPORT_NEON_DOTPROD (cv::checkHardwareSupport(CV_CPU_NEON_DOTPROD))
433
# define CV_CPU_CALL_NEON_DOTPROD(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_DOTPROD) return (opt_NEON_DOTPROD::fn args)
434
# define CV_CPU_CALL_NEON_DOTPROD_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_DOTPROD) return (opt_NEON_DOTPROD::fn args)
435
#else
436
# define CV_TRY_NEON_DOTPROD 0
437
# define CV_CPU_FORCE_NEON_DOTPROD 0
438
# define CV_CPU_HAS_SUPPORT_NEON_DOTPROD 0
439
# define CV_CPU_CALL_NEON_DOTPROD(fn, args)
440
# define CV_CPU_CALL_NEON_DOTPROD_(fn, args)
441
#endif
442
#define __CV_CPU_DISPATCH_CHAIN_NEON_DOTPROD(fn, args, mode, ...) CV_CPU_CALL_NEON_DOTPROD(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
443
444
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON_FP16
445
# define CV_TRY_NEON_FP16 1
446
# define CV_CPU_FORCE_NEON_FP16 1
447
# define CV_CPU_HAS_SUPPORT_NEON_FP16 1
448
# define CV_CPU_CALL_NEON_FP16(fn, args) return (cpu_baseline::fn args)
449
# define CV_CPU_CALL_NEON_FP16_(fn, args) return (opt_NEON_FP16::fn args)
450
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON_FP16
451
# define CV_TRY_NEON_FP16 1
452
# define CV_CPU_FORCE_NEON_FP16 0
453
# define CV_CPU_HAS_SUPPORT_NEON_FP16 (cv::checkHardwareSupport(CV_CPU_NEON_FP16))
454
# define CV_CPU_CALL_NEON_FP16(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_FP16) return (opt_NEON_FP16::fn args)
455
# define CV_CPU_CALL_NEON_FP16_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_FP16) return (opt_NEON_FP16::fn args)
456
#else
457
# define CV_TRY_NEON_FP16 0
458
# define CV_CPU_FORCE_NEON_FP16 0
459
# define CV_CPU_HAS_SUPPORT_NEON_FP16 0
460
# define CV_CPU_CALL_NEON_FP16(fn, args)
461
# define CV_CPU_CALL_NEON_FP16_(fn, args)
462
#endif
463
#define __CV_CPU_DISPATCH_CHAIN_NEON_FP16(fn, args, mode, ...) CV_CPU_CALL_NEON_FP16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
464
465
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON_BF16
466
# define CV_TRY_NEON_BF16 1
467
# define CV_CPU_FORCE_NEON_BF16 1
468
# define CV_CPU_HAS_SUPPORT_NEON_BF16 1
469
# define CV_CPU_CALL_NEON_BF16(fn, args) return (cpu_baseline::fn args)
470
# define CV_CPU_CALL_NEON_BF16_(fn, args) return (opt_NEON_BF16::fn args)
471
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON_BF16
472
# define CV_TRY_NEON_BF16 1
473
# define CV_CPU_FORCE_NEON_BF16 0
474
# define CV_CPU_HAS_SUPPORT_NEON_BF16 (cv::checkHardwareSupport(CV_CPU_NEON_BF16))
475
# define CV_CPU_CALL_NEON_BF16(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_BF16) return (opt_NEON_BF16::fn args)
476
# define CV_CPU_CALL_NEON_BF16_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_BF16) return (opt_NEON_BF16::fn args)
477
#else
478
# define CV_TRY_NEON_BF16 0
479
# define CV_CPU_FORCE_NEON_BF16 0
480
# define CV_CPU_HAS_SUPPORT_NEON_BF16 0
481
# define CV_CPU_CALL_NEON_BF16(fn, args)
482
# define CV_CPU_CALL_NEON_BF16_(fn, args)
483
#endif
484
#define __CV_CPU_DISPATCH_CHAIN_NEON_BF16(fn, args, mode, ...) CV_CPU_CALL_NEON_BF16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
485
486
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_MSA
487
# define CV_TRY_MSA 1
488
# define CV_CPU_FORCE_MSA 1
489
# define CV_CPU_HAS_SUPPORT_MSA 1
490
# define CV_CPU_CALL_MSA(fn, args) return (cpu_baseline::fn args)
491
# define CV_CPU_CALL_MSA_(fn, args) return (opt_MSA::fn args)
492
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_MSA
493
# define CV_TRY_MSA 1
494
# define CV_CPU_FORCE_MSA 0
495
# define CV_CPU_HAS_SUPPORT_MSA (cv::checkHardwareSupport(CV_CPU_MSA))
496
# define CV_CPU_CALL_MSA(fn, args) if (CV_CPU_HAS_SUPPORT_MSA) return (opt_MSA::fn args)
497
# define CV_CPU_CALL_MSA_(fn, args) if (CV_CPU_HAS_SUPPORT_MSA) return (opt_MSA::fn args)
498
#else
499
# define CV_TRY_MSA 0
500
# define CV_CPU_FORCE_MSA 0
501
# define CV_CPU_HAS_SUPPORT_MSA 0
502
# define CV_CPU_CALL_MSA(fn, args)
503
# define CV_CPU_CALL_MSA_(fn, args)
504
#endif
505
#define __CV_CPU_DISPATCH_CHAIN_MSA(fn, args, mode, ...) CV_CPU_CALL_MSA(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
506
507
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_VSX
508
# define CV_TRY_VSX 1
509
# define CV_CPU_FORCE_VSX 1
510
# define CV_CPU_HAS_SUPPORT_VSX 1
511
# define CV_CPU_CALL_VSX(fn, args) return (cpu_baseline::fn args)
512
# define CV_CPU_CALL_VSX_(fn, args) return (opt_VSX::fn args)
513
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_VSX
514
# define CV_TRY_VSX 1
515
# define CV_CPU_FORCE_VSX 0
516
# define CV_CPU_HAS_SUPPORT_VSX (cv::checkHardwareSupport(CV_CPU_VSX))
517
# define CV_CPU_CALL_VSX(fn, args) if (CV_CPU_HAS_SUPPORT_VSX) return (opt_VSX::fn args)
518
# define CV_CPU_CALL_VSX_(fn, args) if (CV_CPU_HAS_SUPPORT_VSX) return (opt_VSX::fn args)
519
#else
520
# define CV_TRY_VSX 0
521
# define CV_CPU_FORCE_VSX 0
522
# define CV_CPU_HAS_SUPPORT_VSX 0
523
# define CV_CPU_CALL_VSX(fn, args)
524
# define CV_CPU_CALL_VSX_(fn, args)
525
#endif
526
#define __CV_CPU_DISPATCH_CHAIN_VSX(fn, args, mode, ...) CV_CPU_CALL_VSX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
527
528
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_VSX3
529
# define CV_TRY_VSX3 1
530
# define CV_CPU_FORCE_VSX3 1
531
# define CV_CPU_HAS_SUPPORT_VSX3 1
532
# define CV_CPU_CALL_VSX3(fn, args) return (cpu_baseline::fn args)
533
# define CV_CPU_CALL_VSX3_(fn, args) return (opt_VSX3::fn args)
534
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_VSX3
535
# define CV_TRY_VSX3 1
536
# define CV_CPU_FORCE_VSX3 0
537
# define CV_CPU_HAS_SUPPORT_VSX3 (cv::checkHardwareSupport(CV_CPU_VSX3))
538
# define CV_CPU_CALL_VSX3(fn, args) if (CV_CPU_HAS_SUPPORT_VSX3) return (opt_VSX3::fn args)
539
# define CV_CPU_CALL_VSX3_(fn, args) if (CV_CPU_HAS_SUPPORT_VSX3) return (opt_VSX3::fn args)
540
#else
541
# define CV_TRY_VSX3 0
542
# define CV_CPU_FORCE_VSX3 0
543
# define CV_CPU_HAS_SUPPORT_VSX3 0
544
# define CV_CPU_CALL_VSX3(fn, args)
545
# define CV_CPU_CALL_VSX3_(fn, args)
546
#endif
547
#define __CV_CPU_DISPATCH_CHAIN_VSX3(fn, args, mode, ...) CV_CPU_CALL_VSX3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
548
549
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_RVV
550
# define CV_TRY_RVV 1
551
# define CV_CPU_FORCE_RVV 1
552
# define CV_CPU_HAS_SUPPORT_RVV 1
553
# define CV_CPU_CALL_RVV(fn, args) return (cpu_baseline::fn args)
554
# define CV_CPU_CALL_RVV_(fn, args) return (opt_RVV::fn args)
555
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_RVV
556
# define CV_TRY_RVV 1
557
# define CV_CPU_FORCE_RVV 0
558
# define CV_CPU_HAS_SUPPORT_RVV (cv::checkHardwareSupport(CV_CPU_RVV))
559
# define CV_CPU_CALL_RVV(fn, args) if (CV_CPU_HAS_SUPPORT_RVV) return (opt_RVV::fn args)
560
# define CV_CPU_CALL_RVV_(fn, args) if (CV_CPU_HAS_SUPPORT_RVV) return (opt_RVV::fn args)
561
#else
562
# define CV_TRY_RVV 0
563
# define CV_CPU_FORCE_RVV 0
564
# define CV_CPU_HAS_SUPPORT_RVV 0
565
# define CV_CPU_CALL_RVV(fn, args)
566
# define CV_CPU_CALL_RVV_(fn, args)
567
#endif
568
#define __CV_CPU_DISPATCH_CHAIN_RVV(fn, args, mode, ...) CV_CPU_CALL_RVV(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
569
570
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_LSX
571
# define CV_TRY_LSX 1
572
# define CV_CPU_FORCE_LSX 1
573
# define CV_CPU_HAS_SUPPORT_LSX 1
574
# define CV_CPU_CALL_LSX(fn, args) return (cpu_baseline::fn args)
575
# define CV_CPU_CALL_LSX_(fn, args) return (opt_LSX::fn args)
576
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_LSX
577
# define CV_TRY_LSX 1
578
# define CV_CPU_FORCE_LSX 0
579
# define CV_CPU_HAS_SUPPORT_LSX (cv::checkHardwareSupport(CV_CPU_LSX))
580
# define CV_CPU_CALL_LSX(fn, args) if (CV_CPU_HAS_SUPPORT_LSX) return (opt_LSX::fn args)
581
# define CV_CPU_CALL_LSX_(fn, args) if (CV_CPU_HAS_SUPPORT_LSX) return (opt_LSX::fn args)
582
#else
583
# define CV_TRY_LSX 0
584
# define CV_CPU_FORCE_LSX 0
585
# define CV_CPU_HAS_SUPPORT_LSX 0
586
# define CV_CPU_CALL_LSX(fn, args)
587
# define CV_CPU_CALL_LSX_(fn, args)
588
#endif
589
#define __CV_CPU_DISPATCH_CHAIN_LSX(fn, args, mode, ...) CV_CPU_CALL_LSX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
590
591
#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_LASX
592
# define CV_TRY_LASX 1
593
# define CV_CPU_FORCE_LASX 1
594
# define CV_CPU_HAS_SUPPORT_LASX 1
595
# define CV_CPU_CALL_LASX(fn, args) return (cpu_baseline::fn args)
596
# define CV_CPU_CALL_LASX_(fn, args) return (opt_LASX::fn args)
597
#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_LASX
598
# define CV_TRY_LASX 1
599
# define CV_CPU_FORCE_LASX 0
600
# define CV_CPU_HAS_SUPPORT_LASX (cv::checkHardwareSupport(CV_CPU_LASX))
601
# define CV_CPU_CALL_LASX(fn, args) if (CV_CPU_HAS_SUPPORT_LASX) return (opt_LASX::fn args)
602
# define CV_CPU_CALL_LASX_(fn, args) if (CV_CPU_HAS_SUPPORT_LASX) return (opt_LASX::fn args)
603
#else
604
# define CV_TRY_LASX 0
605
# define CV_CPU_FORCE_LASX 0
606
# define CV_CPU_HAS_SUPPORT_LASX 0
607
# define CV_CPU_CALL_LASX(fn, args)
608
# define CV_CPU_CALL_LASX_(fn, args)
609
#endif
610
#define __CV_CPU_DISPATCH_CHAIN_LASX(fn, args, mode, ...) CV_CPU_CALL_LASX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
611
612
#define CV_CPU_CALL_BASELINE(fn, args) return (cpu_baseline::fn args)
613
#define __CV_CPU_DISPATCH_CHAIN_BASELINE(fn, args, mode, ...) CV_CPU_CALL_BASELINE(fn, args)
/* last in sequence */