MCPcopy Create free account
hub / github.com/VectorDB-NTU/RaBitQ-Library / helper_float_7_recursive

Function helper_float_7_recursive

include/rabitqlib/utils/fht_avx.hpp:402–594  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

400}
401inline void helper_float_7_recursive(float *buf, int depth);
402inline void helper_float_7_recursive(float *buf, int depth) {
403 if (depth == 7) {
404 for (int j = 0; j < 128; j += 64) {
405 for (int k = 0; k < 8; k += 8) {
406 __asm__ volatile (
407 "vmovups (%0), %%ymm0\n"
408 "vmovups (%1), %%ymm1\n"
409 "vmovups (%2), %%ymm2\n"
410 "vmovups (%3), %%ymm3\n"
411 "vmovups (%4), %%ymm4\n"
412 "vmovups (%5), %%ymm5\n"
413 "vmovups (%6), %%ymm6\n"
414 "vmovups (%7), %%ymm7\n"
415 "vpermilps $160, %%ymm0, %%ymm8\n"
416 "vpermilps $245, %%ymm0, %%ymm9\n"
417 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
418 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
419 "vaddsubps %%ymm11, %%ymm8, %%ymm0\n"
420 "vpermilps $160, %%ymm1, %%ymm8\n"
421 "vpermilps $245, %%ymm1, %%ymm9\n"
422 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
423 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
424 "vaddsubps %%ymm11, %%ymm8, %%ymm1\n"
425 "vpermilps $160, %%ymm2, %%ymm8\n"
426 "vpermilps $245, %%ymm2, %%ymm9\n"
427 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
428 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
429 "vaddsubps %%ymm11, %%ymm8, %%ymm2\n"
430 "vpermilps $160, %%ymm3, %%ymm8\n"
431 "vpermilps $245, %%ymm3, %%ymm9\n"
432 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
433 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
434 "vaddsubps %%ymm11, %%ymm8, %%ymm3\n"
435 "vpermilps $160, %%ymm4, %%ymm8\n"
436 "vpermilps $245, %%ymm4, %%ymm9\n"
437 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
438 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
439 "vaddsubps %%ymm11, %%ymm8, %%ymm4\n"
440 "vpermilps $160, %%ymm5, %%ymm8\n"
441 "vpermilps $245, %%ymm5, %%ymm9\n"
442 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
443 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
444 "vaddsubps %%ymm11, %%ymm8, %%ymm5\n"
445 "vpermilps $160, %%ymm6, %%ymm8\n"
446 "vpermilps $245, %%ymm6, %%ymm9\n"
447 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
448 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
449 "vaddsubps %%ymm11, %%ymm8, %%ymm6\n"
450 "vpermilps $160, %%ymm7, %%ymm8\n"
451 "vpermilps $245, %%ymm7, %%ymm9\n"
452 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
453 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
454 "vaddsubps %%ymm11, %%ymm8, %%ymm7\n"
455 "vpermilps $68, %%ymm0, %%ymm8\n"
456 "vpermilps $238, %%ymm0, %%ymm9\n"
457 "vxorps %%ymm10, %%ymm10, %%ymm10\n"
458 "vsubps %%ymm9, %%ymm10, %%ymm11\n"
459 "vblendps $204, %%ymm11, %%ymm9, %%ymm12\n"

Callers 1

helper_float_7Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected