GNU Radio 3.4.0 C++ API
|
00001 /*this file is auto_generated by volk_register.py*/ 00002 00003 00004 #ifndef INCLUDED_VOLK_REGISTRY_H 00005 #define INCLUDED_VOLK_REGISTRY_H 00006 00007 #include<volk/volk_config.h> 00008 #include<volk/volk_config_fixed.h> 00009 #ifdef __cplusplus 00010 extern "C" { 00011 #endif 00012 00013 #if LV_HAVE_GENERIC 00014 #define LV_GENERIC_CNT 1 00015 #else 00016 #define LV_GENERIC_CNT 0 00017 #endif /*LV_HAVE_GENERIC*/ 00018 00019 #if LV_HAVE_ORC 00020 #define LV_ORC_CNT 1 00021 #else 00022 #define LV_ORC_CNT 0 00023 #endif /*LV_HAVE_ORC*/ 00024 00025 #if LV_HAVE_ALTIVEC 00026 #define LV_ALTIVEC_CNT 1 00027 #else 00028 #define LV_ALTIVEC_CNT 0 00029 #endif /*LV_HAVE_ALTIVEC*/ 00030 00031 #if LV_HAVE_32 00032 #define LV_32_CNT 1 00033 #else 00034 #define LV_32_CNT 0 00035 #endif /*LV_HAVE_32*/ 00036 00037 #if LV_HAVE_64 00038 #define LV_64_CNT 1 00039 #else 00040 #define LV_64_CNT 0 00041 #endif /*LV_HAVE_64*/ 00042 00043 #if LV_HAVE_3DNOW 00044 #define LV_3DNOW_CNT 1 00045 #else 00046 #define LV_3DNOW_CNT 0 00047 #endif /*LV_HAVE_3DNOW*/ 00048 00049 #if LV_HAVE_ABM 00050 #define LV_ABM_CNT 1 00051 #else 00052 #define LV_ABM_CNT 0 00053 #endif /*LV_HAVE_ABM*/ 00054 00055 #if LV_HAVE_POPCOUNT 00056 #define LV_POPCOUNT_CNT 1 00057 #else 00058 #define LV_POPCOUNT_CNT 0 00059 #endif /*LV_HAVE_POPCOUNT*/ 00060 00061 #if LV_HAVE_MMX 00062 #define LV_MMX_CNT 1 00063 #else 00064 #define LV_MMX_CNT 0 00065 #endif /*LV_HAVE_MMX*/ 00066 00067 #if LV_HAVE_SSE 00068 #define LV_SSE_CNT 1 00069 #else 00070 #define LV_SSE_CNT 0 00071 #endif /*LV_HAVE_SSE*/ 00072 00073 #if LV_HAVE_SSE2 00074 #define LV_SSE2_CNT 1 00075 #else 00076 #define LV_SSE2_CNT 0 00077 #endif /*LV_HAVE_SSE2*/ 00078 00079 #if LV_HAVE_SSE3 00080 #define LV_SSE3_CNT 1 00081 #else 00082 #define LV_SSE3_CNT 0 00083 #endif /*LV_HAVE_SSE3*/ 00084 00085 #if LV_HAVE_SSSE3 00086 #define LV_SSSE3_CNT 1 00087 #else 00088 #define LV_SSSE3_CNT 0 00089 #endif /*LV_HAVE_SSSE3*/ 00090 00091 #if LV_HAVE_SSE4_A 00092 #define LV_SSE4_A_CNT 1 00093 #else 00094 #define LV_SSE4_A_CNT 0 00095 #endif /*LV_HAVE_SSE4_A*/ 00096 00097 #if LV_HAVE_SSE4_1 00098 #define LV_SSE4_1_CNT 1 00099 #else 00100 #define LV_SSE4_1_CNT 0 00101 #endif /*LV_HAVE_SSE4_1*/ 00102 00103 #if LV_HAVE_SSE4_2 00104 #define LV_SSE4_2_CNT 1 00105 #else 00106 #define LV_SSE4_2_CNT 0 00107 #endif /*LV_HAVE_SSE4_2*/ 00108 00109 #if LV_HAVE_AVX 00110 #define LV_AVX_CNT 1 00111 #else 00112 #define LV_AVX_CNT 0 00113 #endif /*LV_HAVE_AVX*/ 00114 00115 static const int volk_16i_x5_add_quad_16i_x4_a16_arch_defs[] = { 00116 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00117 #if LV_HAVE_SSE2 00118 (1 << LV_SSE2), 00119 #endif 00120 #if LV_HAVE_GENERIC 00121 (1 << LV_GENERIC) 00122 #endif 00123 }; 00124 00125 static const int volk_16i_branch_4_state_8_a16_arch_defs[] = { 00126 (LV_SSSE3_CNT) + (LV_GENERIC_CNT), 00127 #if LV_HAVE_SSSE3 00128 (1 << LV_SSSE3), 00129 #endif 00130 #if LV_HAVE_GENERIC 00131 (1 << LV_GENERIC) 00132 #endif 00133 }; 00134 00135 static const int volk_16ic_deinterleave_16i_x2_a16_arch_defs[] = { 00136 (LV_SSSE3_CNT) + (LV_SSE2_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00137 #if LV_HAVE_SSSE3 00138 (1 << LV_SSSE3), 00139 #endif 00140 #if LV_HAVE_SSE2 00141 (1 << LV_SSE2), 00142 #endif 00143 #if LV_HAVE_GENERIC 00144 (1 << LV_GENERIC), 00145 #endif 00146 #if LV_HAVE_ORC 00147 (1 << LV_ORC) 00148 #endif 00149 }; 00150 00151 static const int volk_16ic_s32f_deinterleave_32f_x2_a16_arch_defs[] = { 00152 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00153 #if LV_HAVE_SSE 00154 (1 << LV_SSE), 00155 #endif 00156 #if LV_HAVE_GENERIC 00157 (1 << LV_GENERIC), 00158 #endif 00159 #if LV_HAVE_ORC 00160 (1 << LV_ORC) 00161 #endif 00162 }; 00163 00164 static const int volk_16ic_deinterleave_real_16i_a16_arch_defs[] = { 00165 (LV_SSSE3_CNT) + (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00166 #if LV_HAVE_SSSE3 00167 (1 << LV_SSSE3), 00168 #endif 00169 #if LV_HAVE_SSE2 00170 (1 << LV_SSE2), 00171 #endif 00172 #if LV_HAVE_GENERIC 00173 (1 << LV_GENERIC) 00174 #endif 00175 }; 00176 00177 static const int volk_16ic_s32f_deinterleave_real_32f_a16_arch_defs[] = { 00178 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00179 #if LV_HAVE_SSE4_1 00180 (1 << LV_SSE4_1), 00181 #endif 00182 #if LV_HAVE_SSE 00183 (1 << LV_SSE), 00184 #endif 00185 #if LV_HAVE_GENERIC 00186 (1 << LV_GENERIC) 00187 #endif 00188 }; 00189 00190 static const int volk_16ic_deinterleave_real_8i_a16_arch_defs[] = { 00191 (LV_SSSE3_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00192 #if LV_HAVE_SSSE3 00193 (1 << LV_SSSE3), 00194 #endif 00195 #if LV_HAVE_GENERIC 00196 (1 << LV_GENERIC), 00197 #endif 00198 #if LV_HAVE_ORC 00199 (1 << LV_ORC) 00200 #endif 00201 }; 00202 00203 static const int volk_16ic_magnitude_16i_a16_arch_defs[] = { 00204 (LV_SSE3_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00205 #if LV_HAVE_SSE3 00206 (1 << LV_SSE3), 00207 #endif 00208 #if LV_HAVE_SSE 00209 (1 << LV_SSE), 00210 #endif 00211 #if LV_HAVE_GENERIC 00212 (1 << LV_GENERIC) 00213 #endif 00214 }; 00215 00216 static const int volk_16ic_s32f_magnitude_32f_a16_arch_defs[] = { 00217 (LV_SSE3_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00218 #if LV_HAVE_SSE3 00219 (1 << LV_SSE3), 00220 #endif 00221 #if LV_HAVE_SSE 00222 (1 << LV_SSE), 00223 #endif 00224 #if LV_HAVE_GENERIC 00225 (1 << LV_GENERIC) 00226 #endif 00227 }; 00228 00229 static const int volk_16i_s32f_convert_32f_a16_arch_defs[] = { 00230 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00231 #if LV_HAVE_SSE4_1 00232 (1 << LV_SSE4_1), 00233 #endif 00234 #if LV_HAVE_SSE 00235 (1 << LV_SSE), 00236 #endif 00237 #if LV_HAVE_GENERIC 00238 (1 << LV_GENERIC) 00239 #endif 00240 }; 00241 00242 static const int volk_16i_s32f_convert_32f_u_arch_defs[] = { 00243 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00244 #if LV_HAVE_SSE4_1 00245 (1 << LV_SSE4_1), 00246 #endif 00247 #if LV_HAVE_SSE 00248 (1 << LV_SSE), 00249 #endif 00250 #if LV_HAVE_GENERIC 00251 (1 << LV_GENERIC) 00252 #endif 00253 }; 00254 00255 static const int volk_16i_convert_8i_a16_arch_defs[] = { 00256 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00257 #if LV_HAVE_SSE2 00258 (1 << LV_SSE2), 00259 #endif 00260 #if LV_HAVE_GENERIC 00261 (1 << LV_GENERIC) 00262 #endif 00263 }; 00264 00265 static const int volk_16i_convert_8i_u_arch_defs[] = { 00266 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00267 #if LV_HAVE_SSE2 00268 (1 << LV_SSE2), 00269 #endif 00270 #if LV_HAVE_GENERIC 00271 (1 << LV_GENERIC) 00272 #endif 00273 }; 00274 00275 static const int volk_16i_max_star_16i_a16_arch_defs[] = { 00276 (LV_SSSE3_CNT) + (LV_GENERIC_CNT), 00277 #if LV_HAVE_SSSE3 00278 (1 << LV_SSSE3), 00279 #endif 00280 #if LV_HAVE_GENERIC 00281 (1 << LV_GENERIC) 00282 #endif 00283 }; 00284 00285 static const int volk_16i_max_star_horizontal_16i_a16_arch_defs[] = { 00286 (LV_SSSE3_CNT) + (LV_GENERIC_CNT), 00287 #if LV_HAVE_SSSE3 00288 (1 << LV_SSSE3), 00289 #endif 00290 #if LV_HAVE_GENERIC 00291 (1 << LV_GENERIC) 00292 #endif 00293 }; 00294 00295 static const int volk_16i_permute_and_scalar_add_a16_arch_defs[] = { 00296 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00297 #if LV_HAVE_SSE2 00298 (1 << LV_SSE2), 00299 #endif 00300 #if LV_HAVE_GENERIC 00301 (1 << LV_GENERIC) 00302 #endif 00303 }; 00304 00305 static const int volk_16i_x4_quad_max_star_16i_a16_arch_defs[] = { 00306 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00307 #if LV_HAVE_SSE2 00308 (1 << LV_SSE2), 00309 #endif 00310 #if LV_HAVE_GENERIC 00311 (1 << LV_GENERIC) 00312 #endif 00313 }; 00314 00315 static const int volk_16u_byteswap_a16_arch_defs[] = { 00316 (LV_SSE2_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00317 #if LV_HAVE_SSE2 00318 (1 << LV_SSE2), 00319 #endif 00320 #if LV_HAVE_GENERIC 00321 (1 << LV_GENERIC), 00322 #endif 00323 #if LV_HAVE_ORC 00324 (1 << LV_ORC) 00325 #endif 00326 }; 00327 00328 static const int volk_32f_accumulator_s32f_a16_arch_defs[] = { 00329 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00330 #if LV_HAVE_SSE 00331 (1 << LV_SSE), 00332 #endif 00333 #if LV_HAVE_GENERIC 00334 (1 << LV_GENERIC) 00335 #endif 00336 }; 00337 00338 static const int volk_32f_x2_add_32f_a16_arch_defs[] = { 00339 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00340 #if LV_HAVE_SSE 00341 (1 << LV_SSE), 00342 #endif 00343 #if LV_HAVE_GENERIC 00344 (1 << LV_GENERIC), 00345 #endif 00346 #if LV_HAVE_ORC 00347 (1 << LV_ORC) 00348 #endif 00349 }; 00350 00351 static const int volk_32fc_32f_multiply_32fc_a16_arch_defs[] = { 00352 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00353 #if LV_HAVE_SSE 00354 (1 << LV_SSE), 00355 #endif 00356 #if LV_HAVE_GENERIC 00357 (1 << LV_GENERIC), 00358 #endif 00359 #if LV_HAVE_ORC 00360 (1 << LV_ORC) 00361 #endif 00362 }; 00363 00364 static const int volk_32fc_s32f_power_32fc_a16_arch_defs[] = { 00365 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00366 #if LV_HAVE_SSE 00367 (1 << LV_SSE), 00368 #endif 00369 #if LV_HAVE_GENERIC 00370 (1 << LV_GENERIC) 00371 #endif 00372 }; 00373 00374 static const int volk_32f_s32f_calc_spectral_noise_floor_32f_a16_arch_defs[] = { 00375 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00376 #if LV_HAVE_SSE 00377 (1 << LV_SSE), 00378 #endif 00379 #if LV_HAVE_GENERIC 00380 (1 << LV_GENERIC) 00381 #endif 00382 }; 00383 00384 static const int volk_32fc_s32f_atan2_32f_a16_arch_defs[] = { 00385 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00386 #if LV_HAVE_SSE4_1 00387 (1 << LV_SSE4_1), 00388 #endif 00389 #if LV_HAVE_SSE 00390 (1 << LV_SSE), 00391 #endif 00392 #if LV_HAVE_GENERIC 00393 (1 << LV_GENERIC) 00394 #endif 00395 }; 00396 00397 static const int volk_32fc_x2_conjugate_dot_prod_32fc_a16_arch_defs[] = { 00398 (LV_GENERIC_CNT) + (LV_SSE_CNT * LV_64_CNT) + (LV_SSE_CNT * LV_32_CNT), 00399 #if LV_HAVE_GENERIC 00400 (1 << LV_GENERIC), 00401 #endif 00402 #if LV_HAVE_SSE && LV_HAVE_64 00403 (1 << LV_SSE) + (1 << LV_64), 00404 #endif 00405 #if LV_HAVE_SSE && LV_HAVE_32 00406 (1 << LV_SSE) + (1 << LV_32) 00407 #endif 00408 }; 00409 00410 static const int volk_32fc_x2_conjugate_dot_prod_32fc_u_arch_defs[] = { 00411 (LV_GENERIC_CNT) + (LV_SSE3_CNT), 00412 #if LV_HAVE_GENERIC 00413 (1 << LV_GENERIC), 00414 #endif 00415 #if LV_HAVE_SSE3 00416 (1 << LV_SSE3) 00417 #endif 00418 }; 00419 00420 static const int volk_32fc_deinterleave_32f_x2_a16_arch_defs[] = { 00421 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00422 #if LV_HAVE_SSE 00423 (1 << LV_SSE), 00424 #endif 00425 #if LV_HAVE_GENERIC 00426 (1 << LV_GENERIC) 00427 #endif 00428 }; 00429 00430 static const int volk_32fc_deinterleave_64f_x2_a16_arch_defs[] = { 00431 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00432 #if LV_HAVE_SSE2 00433 (1 << LV_SSE2), 00434 #endif 00435 #if LV_HAVE_GENERIC 00436 (1 << LV_GENERIC) 00437 #endif 00438 }; 00439 00440 static const int volk_32fc_s32f_deinterleave_real_16i_a16_arch_defs[] = { 00441 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00442 #if LV_HAVE_SSE 00443 (1 << LV_SSE), 00444 #endif 00445 #if LV_HAVE_GENERIC 00446 (1 << LV_GENERIC) 00447 #endif 00448 }; 00449 00450 static const int volk_32fc_deinterleave_real_32f_a16_arch_defs[] = { 00451 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00452 #if LV_HAVE_SSE 00453 (1 << LV_SSE), 00454 #endif 00455 #if LV_HAVE_GENERIC 00456 (1 << LV_GENERIC) 00457 #endif 00458 }; 00459 00460 static const int volk_32fc_deinterleave_real_64f_a16_arch_defs[] = { 00461 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00462 #if LV_HAVE_SSE2 00463 (1 << LV_SSE2), 00464 #endif 00465 #if LV_HAVE_GENERIC 00466 (1 << LV_GENERIC) 00467 #endif 00468 }; 00469 00470 static const int volk_32fc_x2_dot_prod_32fc_a16_arch_defs[] = { 00471 (LV_GENERIC_CNT) + (LV_SSE_CNT * LV_64_CNT) + (LV_SSE_CNT * LV_32_CNT) + (LV_SSE3_CNT) + (LV_SSE4_1_CNT), 00472 #if LV_HAVE_GENERIC 00473 (1 << LV_GENERIC), 00474 #endif 00475 #if LV_HAVE_SSE && LV_HAVE_64 00476 (1 << LV_SSE) + (1 << LV_64), 00477 #endif 00478 #if LV_HAVE_SSE && LV_HAVE_32 00479 (1 << LV_SSE) + (1 << LV_32), 00480 #endif 00481 #if LV_HAVE_SSE3 00482 (1 << LV_SSE3), 00483 #endif 00484 #if LV_HAVE_SSE4_1 00485 (1 << LV_SSE4_1) 00486 #endif 00487 }; 00488 00489 static const int volk_32fc_index_max_16u_a16_arch_defs[] = { 00490 (LV_SSE3_CNT) + (LV_GENERIC_CNT), 00491 #if LV_HAVE_SSE3 00492 (1 << LV_SSE3), 00493 #endif 00494 #if LV_HAVE_GENERIC 00495 (1 << LV_GENERIC) 00496 #endif 00497 }; 00498 00499 static const int volk_32fc_s32f_magnitude_16i_a16_arch_defs[] = { 00500 (LV_SSE3_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00501 #if LV_HAVE_SSE3 00502 (1 << LV_SSE3), 00503 #endif 00504 #if LV_HAVE_SSE 00505 (1 << LV_SSE), 00506 #endif 00507 #if LV_HAVE_GENERIC 00508 (1 << LV_GENERIC), 00509 #endif 00510 #if LV_HAVE_ORC 00511 (1 << LV_ORC) 00512 #endif 00513 }; 00514 00515 static const int volk_32fc_magnitude_32f_a16_arch_defs[] = { 00516 (LV_SSE3_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00517 #if LV_HAVE_SSE3 00518 (1 << LV_SSE3), 00519 #endif 00520 #if LV_HAVE_SSE 00521 (1 << LV_SSE), 00522 #endif 00523 #if LV_HAVE_GENERIC 00524 (1 << LV_GENERIC), 00525 #endif 00526 #if LV_HAVE_ORC 00527 (1 << LV_ORC) 00528 #endif 00529 }; 00530 00531 static const int volk_32fc_x2_multiply_32fc_a16_arch_defs[] = { 00532 (LV_SSE3_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00533 #if LV_HAVE_SSE3 00534 (1 << LV_SSE3), 00535 #endif 00536 #if LV_HAVE_GENERIC 00537 (1 << LV_GENERIC), 00538 #endif 00539 #if LV_HAVE_ORC 00540 (1 << LV_ORC) 00541 #endif 00542 }; 00543 00544 static const int volk_32f_s32f_convert_16i_a16_arch_defs[] = { 00545 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00546 #if LV_HAVE_SSE2 00547 (1 << LV_SSE2), 00548 #endif 00549 #if LV_HAVE_SSE 00550 (1 << LV_SSE), 00551 #endif 00552 #if LV_HAVE_GENERIC 00553 (1 << LV_GENERIC) 00554 #endif 00555 }; 00556 00557 static const int volk_32f_s32f_convert_16i_u_arch_defs[] = { 00558 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00559 #if LV_HAVE_SSE2 00560 (1 << LV_SSE2), 00561 #endif 00562 #if LV_HAVE_SSE 00563 (1 << LV_SSE), 00564 #endif 00565 #if LV_HAVE_GENERIC 00566 (1 << LV_GENERIC) 00567 #endif 00568 }; 00569 00570 static const int volk_32f_s32f_convert_32i_a16_arch_defs[] = { 00571 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00572 #if LV_HAVE_SSE2 00573 (1 << LV_SSE2), 00574 #endif 00575 #if LV_HAVE_SSE 00576 (1 << LV_SSE), 00577 #endif 00578 #if LV_HAVE_GENERIC 00579 (1 << LV_GENERIC) 00580 #endif 00581 }; 00582 00583 static const int volk_32f_s32f_convert_32i_u_arch_defs[] = { 00584 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00585 #if LV_HAVE_SSE2 00586 (1 << LV_SSE2), 00587 #endif 00588 #if LV_HAVE_SSE 00589 (1 << LV_SSE), 00590 #endif 00591 #if LV_HAVE_GENERIC 00592 (1 << LV_GENERIC) 00593 #endif 00594 }; 00595 00596 static const int volk_32f_convert_64f_a16_arch_defs[] = { 00597 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00598 #if LV_HAVE_SSE2 00599 (1 << LV_SSE2), 00600 #endif 00601 #if LV_HAVE_GENERIC 00602 (1 << LV_GENERIC) 00603 #endif 00604 }; 00605 00606 static const int volk_32f_convert_64f_u_arch_defs[] = { 00607 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00608 #if LV_HAVE_SSE2 00609 (1 << LV_SSE2), 00610 #endif 00611 #if LV_HAVE_GENERIC 00612 (1 << LV_GENERIC) 00613 #endif 00614 }; 00615 00616 static const int volk_32f_s32f_convert_8i_a16_arch_defs[] = { 00617 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00618 #if LV_HAVE_SSE2 00619 (1 << LV_SSE2), 00620 #endif 00621 #if LV_HAVE_SSE 00622 (1 << LV_SSE), 00623 #endif 00624 #if LV_HAVE_GENERIC 00625 (1 << LV_GENERIC) 00626 #endif 00627 }; 00628 00629 static const int volk_32f_s32f_convert_8i_u_arch_defs[] = { 00630 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00631 #if LV_HAVE_SSE2 00632 (1 << LV_SSE2), 00633 #endif 00634 #if LV_HAVE_SSE 00635 (1 << LV_SSE), 00636 #endif 00637 #if LV_HAVE_GENERIC 00638 (1 << LV_GENERIC) 00639 #endif 00640 }; 00641 00642 static const int volk_32fc_s32f_x2_power_spectral_density_32f_a16_arch_defs[] = { 00643 (LV_SSE3_CNT) + (LV_GENERIC_CNT), 00644 #if LV_HAVE_SSE3 00645 (1 << LV_SSE3), 00646 #endif 00647 #if LV_HAVE_GENERIC 00648 (1 << LV_GENERIC) 00649 #endif 00650 }; 00651 00652 static const int volk_32fc_s32f_power_spectrum_32f_a16_arch_defs[] = { 00653 (LV_SSE3_CNT) + (LV_GENERIC_CNT), 00654 #if LV_HAVE_SSE3 00655 (1 << LV_SSE3), 00656 #endif 00657 #if LV_HAVE_GENERIC 00658 (1 << LV_GENERIC) 00659 #endif 00660 }; 00661 00662 static const int volk_32fc_x2_square_dist_32f_a16_arch_defs[] = { 00663 (LV_SSE3_CNT) + (LV_GENERIC_CNT), 00664 #if LV_HAVE_SSE3 00665 (1 << LV_SSE3), 00666 #endif 00667 #if LV_HAVE_GENERIC 00668 (1 << LV_GENERIC) 00669 #endif 00670 }; 00671 00672 static const int volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a16_arch_defs[] = { 00673 (LV_SSE3_CNT) + (LV_GENERIC_CNT), 00674 #if LV_HAVE_SSE3 00675 (1 << LV_SSE3), 00676 #endif 00677 #if LV_HAVE_GENERIC 00678 (1 << LV_GENERIC) 00679 #endif 00680 }; 00681 00682 static const int volk_32f_x2_divide_32f_a16_arch_defs[] = { 00683 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00684 #if LV_HAVE_SSE 00685 (1 << LV_SSE), 00686 #endif 00687 #if LV_HAVE_GENERIC 00688 (1 << LV_GENERIC), 00689 #endif 00690 #if LV_HAVE_ORC 00691 (1 << LV_ORC) 00692 #endif 00693 }; 00694 00695 static const int volk_32f_x2_dot_prod_32f_a16_arch_defs[] = { 00696 (LV_GENERIC_CNT) + (LV_SSE_CNT) + (LV_SSE3_CNT) + (LV_SSE4_1_CNT), 00697 #if LV_HAVE_GENERIC 00698 (1 << LV_GENERIC), 00699 #endif 00700 #if LV_HAVE_SSE 00701 (1 << LV_SSE), 00702 #endif 00703 #if LV_HAVE_SSE3 00704 (1 << LV_SSE3), 00705 #endif 00706 #if LV_HAVE_SSE4_1 00707 (1 << LV_SSE4_1) 00708 #endif 00709 }; 00710 00711 static const int volk_32f_x2_dot_prod_32f_u_arch_defs[] = { 00712 (LV_GENERIC_CNT) + (LV_SSE_CNT) + (LV_SSE3_CNT) + (LV_SSE4_1_CNT), 00713 #if LV_HAVE_GENERIC 00714 (1 << LV_GENERIC), 00715 #endif 00716 #if LV_HAVE_SSE 00717 (1 << LV_SSE), 00718 #endif 00719 #if LV_HAVE_SSE3 00720 (1 << LV_SSE3), 00721 #endif 00722 #if LV_HAVE_SSE4_1 00723 (1 << LV_SSE4_1) 00724 #endif 00725 }; 00726 00727 static const int volk_32f_s32f_32f_fm_detect_32f_a16_arch_defs[] = { 00728 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00729 #if LV_HAVE_SSE 00730 (1 << LV_SSE), 00731 #endif 00732 #if LV_HAVE_GENERIC 00733 (1 << LV_GENERIC) 00734 #endif 00735 }; 00736 00737 static const int volk_32f_index_max_16u_a16_arch_defs[] = { 00738 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00739 #if LV_HAVE_SSE4_1 00740 (1 << LV_SSE4_1), 00741 #endif 00742 #if LV_HAVE_SSE 00743 (1 << LV_SSE), 00744 #endif 00745 #if LV_HAVE_GENERIC 00746 (1 << LV_GENERIC) 00747 #endif 00748 }; 00749 00750 static const int volk_32f_x2_s32f_interleave_16ic_a16_arch_defs[] = { 00751 (LV_SSE2_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00752 #if LV_HAVE_SSE2 00753 (1 << LV_SSE2), 00754 #endif 00755 #if LV_HAVE_SSE 00756 (1 << LV_SSE), 00757 #endif 00758 #if LV_HAVE_GENERIC 00759 (1 << LV_GENERIC) 00760 #endif 00761 }; 00762 00763 static const int volk_32f_x2_interleave_32fc_a16_arch_defs[] = { 00764 (LV_SSE_CNT) + (LV_GENERIC_CNT), 00765 #if LV_HAVE_SSE 00766 (1 << LV_SSE), 00767 #endif 00768 #if LV_HAVE_GENERIC 00769 (1 << LV_GENERIC) 00770 #endif 00771 }; 00772 00773 static const int volk_32f_x2_max_32f_a16_arch_defs[] = { 00774 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00775 #if LV_HAVE_SSE 00776 (1 << LV_SSE), 00777 #endif 00778 #if LV_HAVE_GENERIC 00779 (1 << LV_GENERIC), 00780 #endif 00781 #if LV_HAVE_ORC 00782 (1 << LV_ORC) 00783 #endif 00784 }; 00785 00786 static const int volk_32f_x2_min_32f_a16_arch_defs[] = { 00787 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00788 #if LV_HAVE_SSE 00789 (1 << LV_SSE), 00790 #endif 00791 #if LV_HAVE_GENERIC 00792 (1 << LV_GENERIC), 00793 #endif 00794 #if LV_HAVE_ORC 00795 (1 << LV_ORC) 00796 #endif 00797 }; 00798 00799 static const int volk_32f_x2_multiply_32f_a16_arch_defs[] = { 00800 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00801 #if LV_HAVE_SSE 00802 (1 << LV_SSE), 00803 #endif 00804 #if LV_HAVE_GENERIC 00805 (1 << LV_GENERIC), 00806 #endif 00807 #if LV_HAVE_ORC 00808 (1 << LV_ORC) 00809 #endif 00810 }; 00811 00812 static const int volk_32f_s32f_normalize_a16_arch_defs[] = { 00813 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00814 #if LV_HAVE_SSE 00815 (1 << LV_SSE), 00816 #endif 00817 #if LV_HAVE_GENERIC 00818 (1 << LV_GENERIC), 00819 #endif 00820 #if LV_HAVE_ORC 00821 (1 << LV_ORC) 00822 #endif 00823 }; 00824 00825 static const int volk_32f_s32f_power_32f_a16_arch_defs[] = { 00826 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00827 #if LV_HAVE_SSE4_1 00828 (1 << LV_SSE4_1), 00829 #endif 00830 #if LV_HAVE_SSE 00831 (1 << LV_SSE), 00832 #endif 00833 #if LV_HAVE_GENERIC 00834 (1 << LV_GENERIC) 00835 #endif 00836 }; 00837 00838 static const int volk_32f_sqrt_32f_a16_arch_defs[] = { 00839 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00840 #if LV_HAVE_SSE 00841 (1 << LV_SSE), 00842 #endif 00843 #if LV_HAVE_GENERIC 00844 (1 << LV_GENERIC), 00845 #endif 00846 #if LV_HAVE_ORC 00847 (1 << LV_ORC) 00848 #endif 00849 }; 00850 00851 static const int volk_32f_s32f_stddev_32f_a16_arch_defs[] = { 00852 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00853 #if LV_HAVE_SSE4_1 00854 (1 << LV_SSE4_1), 00855 #endif 00856 #if LV_HAVE_SSE 00857 (1 << LV_SSE), 00858 #endif 00859 #if LV_HAVE_GENERIC 00860 (1 << LV_GENERIC) 00861 #endif 00862 }; 00863 00864 static const int volk_32f_stddev_and_mean_32f_x2_a16_arch_defs[] = { 00865 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 00866 #if LV_HAVE_SSE4_1 00867 (1 << LV_SSE4_1), 00868 #endif 00869 #if LV_HAVE_SSE 00870 (1 << LV_SSE), 00871 #endif 00872 #if LV_HAVE_GENERIC 00873 (1 << LV_GENERIC) 00874 #endif 00875 }; 00876 00877 static const int volk_32f_x2_subtract_32f_a16_arch_defs[] = { 00878 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00879 #if LV_HAVE_SSE 00880 (1 << LV_SSE), 00881 #endif 00882 #if LV_HAVE_GENERIC 00883 (1 << LV_GENERIC), 00884 #endif 00885 #if LV_HAVE_ORC 00886 (1 << LV_ORC) 00887 #endif 00888 }; 00889 00890 static const int volk_32f_x3_sum_of_poly_32f_a16_arch_defs[] = { 00891 (LV_SSE3_CNT) + (LV_GENERIC_CNT), 00892 #if LV_HAVE_SSE3 00893 (1 << LV_SSE3), 00894 #endif 00895 #if LV_HAVE_GENERIC 00896 (1 << LV_GENERIC) 00897 #endif 00898 }; 00899 00900 static const int volk_32i_x2_and_32i_a16_arch_defs[] = { 00901 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00902 #if LV_HAVE_SSE 00903 (1 << LV_SSE), 00904 #endif 00905 #if LV_HAVE_GENERIC 00906 (1 << LV_GENERIC), 00907 #endif 00908 #if LV_HAVE_ORC 00909 (1 << LV_ORC) 00910 #endif 00911 }; 00912 00913 static const int volk_32i_s32f_convert_32f_a16_arch_defs[] = { 00914 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00915 #if LV_HAVE_SSE2 00916 (1 << LV_SSE2), 00917 #endif 00918 #if LV_HAVE_GENERIC 00919 (1 << LV_GENERIC) 00920 #endif 00921 }; 00922 00923 static const int volk_32i_s32f_convert_32f_u_arch_defs[] = { 00924 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00925 #if LV_HAVE_SSE2 00926 (1 << LV_SSE2), 00927 #endif 00928 #if LV_HAVE_GENERIC 00929 (1 << LV_GENERIC) 00930 #endif 00931 }; 00932 00933 static const int volk_32i_x2_or_32i_a16_arch_defs[] = { 00934 (LV_SSE_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 00935 #if LV_HAVE_SSE 00936 (1 << LV_SSE), 00937 #endif 00938 #if LV_HAVE_GENERIC 00939 (1 << LV_GENERIC), 00940 #endif 00941 #if LV_HAVE_ORC 00942 (1 << LV_ORC) 00943 #endif 00944 }; 00945 00946 static const int volk_32u_byteswap_a16_arch_defs[] = { 00947 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00948 #if LV_HAVE_SSE2 00949 (1 << LV_SSE2), 00950 #endif 00951 #if LV_HAVE_GENERIC 00952 (1 << LV_GENERIC) 00953 #endif 00954 }; 00955 00956 static const int volk_32u_popcnt_a16_arch_defs[] = { 00957 (LV_GENERIC_CNT) + (LV_SSE4_2_CNT), 00958 #if LV_HAVE_GENERIC 00959 (1 << LV_GENERIC), 00960 #endif 00961 #if LV_HAVE_SSE4_2 00962 (1 << LV_SSE4_2) 00963 #endif 00964 }; 00965 00966 static const int volk_64f_convert_32f_a16_arch_defs[] = { 00967 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00968 #if LV_HAVE_SSE2 00969 (1 << LV_SSE2), 00970 #endif 00971 #if LV_HAVE_GENERIC 00972 (1 << LV_GENERIC) 00973 #endif 00974 }; 00975 00976 static const int volk_64f_convert_32f_u_arch_defs[] = { 00977 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00978 #if LV_HAVE_SSE2 00979 (1 << LV_SSE2), 00980 #endif 00981 #if LV_HAVE_GENERIC 00982 (1 << LV_GENERIC) 00983 #endif 00984 }; 00985 00986 static const int volk_64f_x2_max_64f_a16_arch_defs[] = { 00987 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00988 #if LV_HAVE_SSE2 00989 (1 << LV_SSE2), 00990 #endif 00991 #if LV_HAVE_GENERIC 00992 (1 << LV_GENERIC) 00993 #endif 00994 }; 00995 00996 static const int volk_64f_x2_min_64f_a16_arch_defs[] = { 00997 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 00998 #if LV_HAVE_SSE2 00999 (1 << LV_SSE2), 01000 #endif 01001 #if LV_HAVE_GENERIC 01002 (1 << LV_GENERIC) 01003 #endif 01004 }; 01005 01006 static const int volk_64u_byteswap_a16_arch_defs[] = { 01007 (LV_SSE2_CNT) + (LV_GENERIC_CNT), 01008 #if LV_HAVE_SSE2 01009 (1 << LV_SSE2), 01010 #endif 01011 #if LV_HAVE_GENERIC 01012 (1 << LV_GENERIC) 01013 #endif 01014 }; 01015 01016 static const int volk_64u_popcnt_a16_arch_defs[] = { 01017 (LV_GENERIC_CNT) + (LV_SSE4_2_CNT * LV_64_CNT), 01018 #if LV_HAVE_GENERIC 01019 (1 << LV_GENERIC), 01020 #endif 01021 #if LV_HAVE_SSE4_2 && LV_HAVE_64 01022 (1 << LV_SSE4_2) + (1 << LV_64) 01023 #endif 01024 }; 01025 01026 static const int volk_8ic_deinterleave_16i_x2_a16_arch_defs[] = { 01027 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT), 01028 #if LV_HAVE_SSE4_1 01029 (1 << LV_SSE4_1), 01030 #endif 01031 #if LV_HAVE_GENERIC 01032 (1 << LV_GENERIC) 01033 #endif 01034 }; 01035 01036 static const int volk_8ic_s32f_deinterleave_32f_x2_a16_arch_defs[] = { 01037 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 01038 #if LV_HAVE_SSE4_1 01039 (1 << LV_SSE4_1), 01040 #endif 01041 #if LV_HAVE_SSE 01042 (1 << LV_SSE), 01043 #endif 01044 #if LV_HAVE_GENERIC 01045 (1 << LV_GENERIC) 01046 #endif 01047 }; 01048 01049 static const int volk_8ic_deinterleave_real_16i_a16_arch_defs[] = { 01050 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT), 01051 #if LV_HAVE_SSE4_1 01052 (1 << LV_SSE4_1), 01053 #endif 01054 #if LV_HAVE_GENERIC 01055 (1 << LV_GENERIC) 01056 #endif 01057 }; 01058 01059 static const int volk_8ic_s32f_deinterleave_real_32f_a16_arch_defs[] = { 01060 (LV_SSE4_1_CNT) + (LV_SSE_CNT) + (LV_GENERIC_CNT), 01061 #if LV_HAVE_SSE4_1 01062 (1 << LV_SSE4_1), 01063 #endif 01064 #if LV_HAVE_SSE 01065 (1 << LV_SSE), 01066 #endif 01067 #if LV_HAVE_GENERIC 01068 (1 << LV_GENERIC) 01069 #endif 01070 }; 01071 01072 static const int volk_8ic_deinterleave_real_8i_a16_arch_defs[] = { 01073 (LV_SSSE3_CNT) + (LV_GENERIC_CNT), 01074 #if LV_HAVE_SSSE3 01075 (1 << LV_SSSE3), 01076 #endif 01077 #if LV_HAVE_GENERIC 01078 (1 << LV_GENERIC) 01079 #endif 01080 }; 01081 01082 static const int volk_8ic_x2_multiply_conjugate_16ic_a16_arch_defs[] = { 01083 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT), 01084 #if LV_HAVE_SSE4_1 01085 (1 << LV_SSE4_1), 01086 #endif 01087 #if LV_HAVE_GENERIC 01088 (1 << LV_GENERIC) 01089 #endif 01090 }; 01091 01092 static const int volk_8ic_x2_s32f_multiply_conjugate_32fc_a16_arch_defs[] = { 01093 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT), 01094 #if LV_HAVE_SSE4_1 01095 (1 << LV_SSE4_1), 01096 #endif 01097 #if LV_HAVE_GENERIC 01098 (1 << LV_GENERIC) 01099 #endif 01100 }; 01101 01102 static const int volk_8i_convert_16i_a16_arch_defs[] = { 01103 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 01104 #if LV_HAVE_SSE4_1 01105 (1 << LV_SSE4_1), 01106 #endif 01107 #if LV_HAVE_GENERIC 01108 (1 << LV_GENERIC), 01109 #endif 01110 #if LV_HAVE_ORC 01111 (1 << LV_ORC) 01112 #endif 01113 }; 01114 01115 static const int volk_8i_convert_16i_u_arch_defs[] = { 01116 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT), 01117 #if LV_HAVE_SSE4_1 01118 (1 << LV_SSE4_1), 01119 #endif 01120 #if LV_HAVE_GENERIC 01121 (1 << LV_GENERIC) 01122 #endif 01123 }; 01124 01125 static const int volk_8i_s32f_convert_32f_a16_arch_defs[] = { 01126 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT) + (LV_ORC_CNT), 01127 #if LV_HAVE_SSE4_1 01128 (1 << LV_SSE4_1), 01129 #endif 01130 #if LV_HAVE_GENERIC 01131 (1 << LV_GENERIC), 01132 #endif 01133 #if LV_HAVE_ORC 01134 (1 << LV_ORC) 01135 #endif 01136 }; 01137 01138 static const int volk_8i_s32f_convert_32f_u_arch_defs[] = { 01139 (LV_SSE4_1_CNT) + (LV_GENERIC_CNT), 01140 #if LV_HAVE_SSE4_1 01141 (1 << LV_SSE4_1), 01142 #endif 01143 #if LV_HAVE_GENERIC 01144 (1 << LV_GENERIC) 01145 #endif 01146 }; 01147 01148 #ifdef __cplusplus 01149 } 01150 #endif 01151 #endif /*INCLUDED_VOLK_REGISTRY_H*/