GNU Radio 3.7.1-52 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
335  const char *volk_64u_popcnt_name;
336  const char *volk_64u_popcnt_impl_names[19];
389  const char *volk_32u_popcnt_name;
390  const char *volk_32u_popcnt_impl_names[19];
563 };
564 
565 #ifdef LV_MACHINE_GENERIC_ORC
566 extern struct volk_machine volk_machine_generic_orc;
567 #endif
568 #ifdef LV_MACHINE_GENERIC
569 extern struct volk_machine volk_machine_generic;
570 #endif
571 #ifdef LV_MACHINE_NEON_ORC
572 extern struct volk_machine volk_machine_neon_orc;
573 #endif
574 #ifdef LV_MACHINE_NEON
575 extern struct volk_machine volk_machine_neon;
576 #endif
577 #ifdef LV_MACHINE_SSE2_32_MMX_ORC
578 extern struct volk_machine volk_machine_sse2_32_mmx_orc;
579 #endif
580 #ifdef LV_MACHINE_SSE2_32_MMX
581 extern struct volk_machine volk_machine_sse2_32_mmx;
582 #endif
583 #ifdef LV_MACHINE_SSE2_32_ORC
584 extern struct volk_machine volk_machine_sse2_32_orc;
585 #endif
586 #ifdef LV_MACHINE_SSE2_32
587 extern struct volk_machine volk_machine_sse2_32;
588 #endif
589 #ifdef LV_MACHINE_SSE2_64_MMX_ORC
590 extern struct volk_machine volk_machine_sse2_64_mmx_orc;
591 #endif
592 #ifdef LV_MACHINE_SSE2_64_MMX
593 extern struct volk_machine volk_machine_sse2_64_mmx;
594 #endif
595 #ifdef LV_MACHINE_SSE2_64_ORC
596 extern struct volk_machine volk_machine_sse2_64_orc;
597 #endif
598 #ifdef LV_MACHINE_SSE2_64
599 extern struct volk_machine volk_machine_sse2_64;
600 #endif
601 #ifdef LV_MACHINE_SSE2_MMX_ORC
602 extern struct volk_machine volk_machine_sse2_mmx_orc;
603 #endif
604 #ifdef LV_MACHINE_SSE2_MMX
605 extern struct volk_machine volk_machine_sse2_mmx;
606 #endif
607 #ifdef LV_MACHINE_SSE2_ORC
608 extern struct volk_machine volk_machine_sse2_orc;
609 #endif
610 #ifdef LV_MACHINE_SSE2
611 extern struct volk_machine volk_machine_sse2;
612 #endif
613 #ifdef LV_MACHINE_SSE3_32_ORC
614 extern struct volk_machine volk_machine_sse3_32_orc;
615 #endif
616 #ifdef LV_MACHINE_SSE3_32
617 extern struct volk_machine volk_machine_sse3_32;
618 #endif
619 #ifdef LV_MACHINE_SSE3_64_ORC
620 extern struct volk_machine volk_machine_sse3_64_orc;
621 #endif
622 #ifdef LV_MACHINE_SSE3_64
623 extern struct volk_machine volk_machine_sse3_64;
624 #endif
625 #ifdef LV_MACHINE_SSSE3_32_ORC
626 extern struct volk_machine volk_machine_ssse3_32_orc;
627 #endif
628 #ifdef LV_MACHINE_SSSE3_32
629 extern struct volk_machine volk_machine_ssse3_32;
630 #endif
631 #ifdef LV_MACHINE_SSSE3_64_ORC
632 extern struct volk_machine volk_machine_ssse3_64_orc;
633 #endif
634 #ifdef LV_MACHINE_SSSE3_64
635 extern struct volk_machine volk_machine_ssse3_64;
636 #endif
637 #ifdef LV_MACHINE_SSE4_A_32_ORC
638 extern struct volk_machine volk_machine_sse4_a_32_orc;
639 #endif
640 #ifdef LV_MACHINE_SSE4_A_32
641 extern struct volk_machine volk_machine_sse4_a_32;
642 #endif
643 #ifdef LV_MACHINE_SSE4_A_64_ORC
644 extern struct volk_machine volk_machine_sse4_a_64_orc;
645 #endif
646 #ifdef LV_MACHINE_SSE4_A_64
647 extern struct volk_machine volk_machine_sse4_a_64;
648 #endif
649 #ifdef LV_MACHINE_SSE4_1_32_ORC
650 extern struct volk_machine volk_machine_sse4_1_32_orc;
651 #endif
652 #ifdef LV_MACHINE_SSE4_1_32
653 extern struct volk_machine volk_machine_sse4_1_32;
654 #endif
655 #ifdef LV_MACHINE_SSE4_1_64_ORC
656 extern struct volk_machine volk_machine_sse4_1_64_orc;
657 #endif
658 #ifdef LV_MACHINE_SSE4_1_64
659 extern struct volk_machine volk_machine_sse4_1_64;
660 #endif
661 #ifdef LV_MACHINE_SSE4_2_32_ORC
662 extern struct volk_machine volk_machine_sse4_2_32_orc;
663 #endif
664 #ifdef LV_MACHINE_SSE4_2_32
665 extern struct volk_machine volk_machine_sse4_2_32;
666 #endif
667 #ifdef LV_MACHINE_SSE4_2_64_ORC
668 extern struct volk_machine volk_machine_sse4_2_64_orc;
669 #endif
670 #ifdef LV_MACHINE_SSE4_2_64
671 extern struct volk_machine volk_machine_sse4_2_64;
672 #endif
673 #ifdef LV_MACHINE_AVX_32_MMX_ORC
674 extern struct volk_machine volk_machine_avx_32_mmx_orc;
675 #endif
676 #ifdef LV_MACHINE_AVX_32_MMX
677 extern struct volk_machine volk_machine_avx_32_mmx;
678 #endif
679 #ifdef LV_MACHINE_AVX_32_ORC
680 extern struct volk_machine volk_machine_avx_32_orc;
681 #endif
682 #ifdef LV_MACHINE_AVX_32
683 extern struct volk_machine volk_machine_avx_32;
684 #endif
685 #ifdef LV_MACHINE_AVX_64_MMX_ORC
686 extern struct volk_machine volk_machine_avx_64_mmx_orc;
687 #endif
688 #ifdef LV_MACHINE_AVX_64_MMX
689 extern struct volk_machine volk_machine_avx_64_mmx;
690 #endif
691 #ifdef LV_MACHINE_AVX_64_ORC
692 extern struct volk_machine volk_machine_avx_64_orc;
693 #endif
694 #ifdef LV_MACHINE_AVX_64
695 extern struct volk_machine volk_machine_avx_64;
696 #endif
697 #ifdef LV_MACHINE_AVX_MMX_ORC
698 extern struct volk_machine volk_machine_avx_mmx_orc;
699 #endif
700 #ifdef LV_MACHINE_AVX_MMX
701 extern struct volk_machine volk_machine_avx_mmx;
702 #endif
703 #ifdef LV_MACHINE_AVX_ORC
704 extern struct volk_machine volk_machine_avx_orc;
705 #endif
706 #ifdef LV_MACHINE_AVX
707 extern struct volk_machine volk_machine_avx;
708 #endif
709 #ifdef LV_MACHINE_ALTIVEC
710 extern struct volk_machine volk_machine_altivec;
711 #endif
712 
714 
715 #endif //INCLUDED_LIBVOLK_MACHINES_H