GNU Radio 3.7.2git-79-g931a7b07 C++ API
volk_machines.h
Go to the documentation of this file.
1 
2 
3 /* this file was generated by volk template utils, do not edit! */
4 
5 /*
6  * Copyright 2011-2012 Free Software Foundation, Inc.
7  *
8  * This file is part of GNU Radio
9  *
10  * GNU Radio is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 3, or (at your option)
13  * any later version.
14  *
15  * GNU Radio is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with GNU Radio; see the file COPYING. If not, write to
22  * the Free Software Foundation, Inc., 51 Franklin Street,
23  * Boston, MA 02110-1301, USA.
24  */
25 
26 #ifndef INCLUDED_LIBVOLK_MACHINES_H
27 #define INCLUDED_LIBVOLK_MACHINES_H
28 
29 #include <volk/volk_common.h>
30 #include <volk/volk_typedefs.h>
31 
32 #include <stdbool.h>
33 #include <stdlib.h>
34 
36 
37 struct volk_machine {
38  const unsigned int caps; //capabilities (i.e., archs compiled into this machine, in the volk_get_lvarch format)
39  const char *name;
40  const size_t alignment; //the maximum byte alignment required for functions in this library
341  const char *volk_64u_popcnt_name;
342  const char *volk_64u_popcnt_impl_names[19];
395  const char *volk_32u_popcnt_name;
396  const char *volk_32u_popcnt_impl_names[19];
569 };
570 
571 #ifdef LV_MACHINE_GENERIC_ORC
572 extern struct volk_machine volk_machine_generic_orc;
573 #endif
574 #ifdef LV_MACHINE_GENERIC
575 extern struct volk_machine volk_machine_generic;
576 #endif
577 #ifdef LV_MACHINE_NEON_ORC
578 extern struct volk_machine volk_machine_neon_orc;
579 #endif
580 #ifdef LV_MACHINE_NEON
581 extern struct volk_machine volk_machine_neon;
582 #endif
583 #ifdef LV_MACHINE_SSE2_32_MMX_ORC
584 extern struct volk_machine volk_machine_sse2_32_mmx_orc;
585 #endif
586 #ifdef LV_MACHINE_SSE2_32_MMX
587 extern struct volk_machine volk_machine_sse2_32_mmx;
588 #endif
589 #ifdef LV_MACHINE_SSE2_32_ORC
590 extern struct volk_machine volk_machine_sse2_32_orc;
591 #endif
592 #ifdef LV_MACHINE_SSE2_32
593 extern struct volk_machine volk_machine_sse2_32;
594 #endif
595 #ifdef LV_MACHINE_SSE2_64_MMX_ORC
596 extern struct volk_machine volk_machine_sse2_64_mmx_orc;
597 #endif
598 #ifdef LV_MACHINE_SSE2_64_MMX
599 extern struct volk_machine volk_machine_sse2_64_mmx;
600 #endif
601 #ifdef LV_MACHINE_SSE2_64_ORC
602 extern struct volk_machine volk_machine_sse2_64_orc;
603 #endif
604 #ifdef LV_MACHINE_SSE2_64
605 extern struct volk_machine volk_machine_sse2_64;
606 #endif
607 #ifdef LV_MACHINE_SSE2_MMX_ORC
608 extern struct volk_machine volk_machine_sse2_mmx_orc;
609 #endif
610 #ifdef LV_MACHINE_SSE2_MMX
611 extern struct volk_machine volk_machine_sse2_mmx;
612 #endif
613 #ifdef LV_MACHINE_SSE2_ORC
614 extern struct volk_machine volk_machine_sse2_orc;
615 #endif
616 #ifdef LV_MACHINE_SSE2
617 extern struct volk_machine volk_machine_sse2;
618 #endif
619 #ifdef LV_MACHINE_SSE3_32_ORC
620 extern struct volk_machine volk_machine_sse3_32_orc;
621 #endif
622 #ifdef LV_MACHINE_SSE3_32
623 extern struct volk_machine volk_machine_sse3_32;
624 #endif
625 #ifdef LV_MACHINE_SSE3_64_ORC
626 extern struct volk_machine volk_machine_sse3_64_orc;
627 #endif
628 #ifdef LV_MACHINE_SSE3_64
629 extern struct volk_machine volk_machine_sse3_64;
630 #endif
631 #ifdef LV_MACHINE_SSSE3_32_ORC
632 extern struct volk_machine volk_machine_ssse3_32_orc;
633 #endif
634 #ifdef LV_MACHINE_SSSE3_32
635 extern struct volk_machine volk_machine_ssse3_32;
636 #endif
637 #ifdef LV_MACHINE_SSSE3_64_ORC
638 extern struct volk_machine volk_machine_ssse3_64_orc;
639 #endif
640 #ifdef LV_MACHINE_SSSE3_64
641 extern struct volk_machine volk_machine_ssse3_64;
642 #endif
643 #ifdef LV_MACHINE_SSE4_A_32_ORC
644 extern struct volk_machine volk_machine_sse4_a_32_orc;
645 #endif
646 #ifdef LV_MACHINE_SSE4_A_32
647 extern struct volk_machine volk_machine_sse4_a_32;
648 #endif
649 #ifdef LV_MACHINE_SSE4_A_64_ORC
650 extern struct volk_machine volk_machine_sse4_a_64_orc;
651 #endif
652 #ifdef LV_MACHINE_SSE4_A_64
653 extern struct volk_machine volk_machine_sse4_a_64;
654 #endif
655 #ifdef LV_MACHINE_SSE4_1_32_ORC
656 extern struct volk_machine volk_machine_sse4_1_32_orc;
657 #endif
658 #ifdef LV_MACHINE_SSE4_1_32
659 extern struct volk_machine volk_machine_sse4_1_32;
660 #endif
661 #ifdef LV_MACHINE_SSE4_1_64_ORC
662 extern struct volk_machine volk_machine_sse4_1_64_orc;
663 #endif
664 #ifdef LV_MACHINE_SSE4_1_64
665 extern struct volk_machine volk_machine_sse4_1_64;
666 #endif
667 #ifdef LV_MACHINE_SSE4_2_32_ORC
668 extern struct volk_machine volk_machine_sse4_2_32_orc;
669 #endif
670 #ifdef LV_MACHINE_SSE4_2_32
671 extern struct volk_machine volk_machine_sse4_2_32;
672 #endif
673 #ifdef LV_MACHINE_SSE4_2_64_ORC
674 extern struct volk_machine volk_machine_sse4_2_64_orc;
675 #endif
676 #ifdef LV_MACHINE_SSE4_2_64
677 extern struct volk_machine volk_machine_sse4_2_64;
678 #endif
679 #ifdef LV_MACHINE_AVX_32_MMX_ORC
680 extern struct volk_machine volk_machine_avx_32_mmx_orc;
681 #endif
682 #ifdef LV_MACHINE_AVX_32_MMX
683 extern struct volk_machine volk_machine_avx_32_mmx;
684 #endif
685 #ifdef LV_MACHINE_AVX_32_ORC
686 extern struct volk_machine volk_machine_avx_32_orc;
687 #endif
688 #ifdef LV_MACHINE_AVX_32
689 extern struct volk_machine volk_machine_avx_32;
690 #endif
691 #ifdef LV_MACHINE_AVX_64_MMX_ORC
692 extern struct volk_machine volk_machine_avx_64_mmx_orc;
693 #endif
694 #ifdef LV_MACHINE_AVX_64_MMX
695 extern struct volk_machine volk_machine_avx_64_mmx;
696 #endif
697 #ifdef LV_MACHINE_AVX_64_ORC
698 extern struct volk_machine volk_machine_avx_64_orc;
699 #endif
700 #ifdef LV_MACHINE_AVX_64
701 extern struct volk_machine volk_machine_avx_64;
702 #endif
703 #ifdef LV_MACHINE_AVX_MMX_ORC
704 extern struct volk_machine volk_machine_avx_mmx_orc;
705 #endif
706 #ifdef LV_MACHINE_AVX_MMX
707 extern struct volk_machine volk_machine_avx_mmx;
708 #endif
709 #ifdef LV_MACHINE_AVX_ORC
710 extern struct volk_machine volk_machine_avx_orc;
711 #endif
712 #ifdef LV_MACHINE_AVX
713 extern struct volk_machine volk_machine_avx;
714 #endif
715 #ifdef LV_MACHINE_ALTIVEC
716 extern struct volk_machine volk_machine_altivec;
717 #endif
718 
720 
721 #endif //INCLUDED_LIBVOLK_MACHINES_H