76 #include <yepPredefines.h>
79 #if defined(YEP_MICROSOFT_COMPILER)
81 typedef unsigned char bool;
89 typedef unsigned char Yep8u;
90 typedef unsigned short Yep16u;
91 typedef unsigned int Yep32u;
92 typedef unsigned long long Yep64u;
94 typedef signed char Yep8s;
95 typedef signed short Yep16s;
96 typedef signed int Yep32s;
97 typedef signed long long Yep64s;
100 typedef double Yep64f;
102 typedef size_t YepSize;
104 typedef bool YepBoolean;
108 unsigned exponent : 5;
109 unsigned mantissa : 10;
410 const Yep64u YepIsaFeaturesDefault = 0x0000000000000000ull;
411 const Yep64u YepSimdFeaturesDefault = 0x0000000000000000ull;
412 const Yep64u YepSystemFeaturesDefault = 0x0000000000000000ull;
545 #define YepIsaFeaturesDefault 0x0000000000000000ull
546 #define YepSimdFeaturesDefault 0x0000000000000000ull
547 #define YepSystemFeaturesDefault 0x0000000000000000ull
554 #define YepSystemFeatureCycleCounter 0x0000000000000001ull
557 #define YepSystemFeatureCycleCounter64Bit 0x0000000000000002ull
560 #define YepSystemFeatureAddressSpace64Bit 0x0000000000000004ull
563 #define YepSystemFeatureGPRegisters64Bit 0x0000000000000008ull
566 #define YepSystemFeatureMisalignedAccess 0x0000000000000010ull
569 #define YepSystemFeatureSingleThreaded 0x0000000000000020ull
578 #define YepX86IsaFeatureFPU 0x0000000000000001ull
581 #define YepX86IsaFeatureCpuid 0x0000000000000002ull
584 #define YepX86IsaFeatureRdtsc 0x0000000000000004ull
587 #define YepX86IsaFeatureCMOV 0x0000000000000008ull
590 #define YepX86IsaFeatureSYSENTER 0x0000000000000010ull
593 #define YepX86IsaFeatureSYSCALL 0x0000000000000020ull
596 #define YepX86IsaFeatureMSR 0x0000000000000040ull
599 #define YepX86IsaFeatureClflush 0x0000000000000080ull
602 #define YepX86IsaFeatureMONITOR 0x0000000000000100ull
605 #define YepX86IsaFeatureFXSAVE 0x0000000000000200ull
608 #define YepX86IsaFeatureXSAVE 0x0000000000000400ull
611 #define YepX86IsaFeatureCmpxchg8b 0x0000000000000800ull
614 #define YepX86IsaFeatureCmpxchg16b 0x0000000000001000ull
617 #define YepX86IsaFeatureX64 0x0000000000002000ull
620 #define YepX86IsaFeatureLahfSahf64 0x0000000000004000ull
623 #define YepX86IsaFeatureFsGsBase 0x0000000000008000ull
626 #define YepX86IsaFeatureMovbe 0x0000000000010000ull
629 #define YepX86IsaFeaturePopcnt 0x0000000000020000ull
632 #define YepX86IsaFeatureLzcnt 0x0000000000040000ull
635 #define YepX86IsaFeatureBMI 0x0000000000080000ull
638 #define YepX86IsaFeatureBMI2 0x0000000000100000ull
641 #define YepX86IsaFeatureTBM 0x0000000000200000ull
644 #define YepX86IsaFeatureRdrand 0x0000000000400000ull
647 #define YepX86IsaFeatureACE 0x0000000000800000ull
650 #define YepX86IsaFeatureACE2 0x0000000001000000ull
653 #define YepX86IsaFeatureRNG 0x0000000002000000ull
656 #define YepX86IsaFeaturePHE 0x0000000004000000ull
659 #define YepX86IsaFeaturePMM 0x0000000008000000ull
662 #define YepX86IsaFeatureAES 0x0000000010000000ull
665 #define YepX86IsaFeaturePclmulqdq 0x0000000020000000ull
668 #define YepX86IsaFeatureRdtscp 0x0000000040000000ull
671 #define YepX86IsaFeatureLWP 0x0000000080000000ull
674 #define YepX86IsaFeatureHLE 0x0000000100000000ull
677 #define YepX86IsaFeatureRTM 0x0000000200000000ull
680 #define YepX86IsaFeatureXtest 0x0000000400000000ull
683 #define YepX86IsaFeatureRdseed 0x0000000800000000ull
686 #define YepX86IsaFeatureADX 0x0000001000000000ull
694 #define YepX86SimdFeatureMMX 0x0000000000000001ull
697 #define YepX86SimdFeatureMMXPlus 0x0000000000000002ull
700 #define YepX86SimdFeatureEMMX 0x0000000000000004ull
703 #define YepX86SimdFeature3dnow 0x0000000000000008ull
706 #define YepX86SimdFeature3dnowPlus 0x0000000000000010ull
709 #define YepX86SimdFeature3dnowPrefetch 0x0000000000000020ull
712 #define YepX86SimdFeature3dnowGeode 0x0000000000000040ull
715 #define YepX86SimdFeatureSSE 0x0000000000000080ull
718 #define YepX86SimdFeatureSSE2 0x0000000000000100ull
721 #define YepX86SimdFeatureSSE3 0x0000000000000200ull
724 #define YepX86SimdFeatureSSSE3 0x0000000000000400ull
727 #define YepX86SimdFeatureSSE4_1 0x0000000000000800ull
730 #define YepX86SimdFeatureSSE4_2 0x0000000000001000ull
733 #define YepX86SimdFeatureSSE4A 0x0000000000002000ull
736 #define YepX86SimdFeatureAVX 0x0000000000004000ull
739 #define YepX86SimdFeatureAVX2 0x0000000000008000ull
742 #define YepX86SimdFeatureXOP 0x0000000000010000ull
745 #define YepX86SimdFeatureF16C 0x0000000000020000ull
748 #define YepX86SimdFeatureFMA3 0x0000000000040000ull
751 #define YepX86SimdFeatureFMA4 0x0000000000080000ull
759 #define YepX86SystemFeatureFPU 0x0000000100000000ull
762 #define YepX86SystemFeatureSSE 0x0000000200000000ull
765 #define YepX86SystemFeatureAVX 0x0000000400000000ull
768 #define YepX86SystemFeatureMisalignedSSE 0x0000000800000000ull
771 #define YepX86SystemFeatureACE 0x0000001000000000ull
774 #define YepX86SystemFeatureACE2 0x0000002000000000ull
777 #define YepX86SystemFeatureRNG 0x0000004000000000ull
780 #define YepX86SystemFeaturePHE 0x0000008000000000ull
783 #define YepX86SystemFeaturePMM 0x0000010000000000ull
791 #define YepIA64IsaFeatureBrl 0x0000000000000001ull
794 #define YepIA64IsaFeatureAtomic128 0x0000000000000002ull
797 #define YepIA64IsaFeatureClz 0x0000000000000004ull
800 #define YepIA64IsaFeatureMpy4 0x0000000000000008ull
808 #define YepARMIsaFeatureV4 0x0000000000000001ull
811 #define YepARMIsaFeatureV5 0x0000000000000002ull
814 #define YepARMIsaFeatureV5E 0x0000000000000004ull
817 #define YepARMIsaFeatureV6 0x0000000000000008ull
820 #define YepARMIsaFeatureV6K 0x0000000000000010ull
823 #define YepARMIsaFeatureV7 0x0000000000000020ull
826 #define YepARMIsaFeatureV7MP 0x0000000000000040ull
829 #define YepARMIsaFeatureThumb 0x0000000000000080ull
832 #define YepARMIsaFeatureThumb2 0x0000000000000100ull
835 #define YepARMIsaFeatureThumbEE 0x0000000000000200ull
838 #define YepARMIsaFeatureJazelle 0x0000000000000400ull
841 #define YepARMIsaFeatureFPA 0x0000000000000800ull
844 #define YepARMIsaFeatureVFP 0x0000000000001000ull
847 #define YepARMIsaFeatureVFP2 0x0000000000002000ull
850 #define YepARMIsaFeatureVFP3 0x0000000000004000ull
853 #define YepARMIsaFeatureVFPd32 0x0000000000008000ull
856 #define YepARMIsaFeatureVFP3HP 0x0000000000010000ull
859 #define YepARMIsaFeatureVFP4 0x0000000000020000ull
862 #define YepARMIsaFeatureDiv 0x0000000000040000ull
865 #define YepARMIsaFeatureArmada 0x0000000000080000ull
873 #define YepARMSimdFeatureXScale 0x0000000000000001ull
876 #define YepARMSimdFeatureWMMX 0x0000000000000002ull
879 #define YepARMSimdFeatureWMMX2 0x0000000000000004ull
882 #define YepARMSimdFeatureNEON 0x0000000000000008ull
885 #define YepARMSimdFeatureNEONHP 0x0000000000000010ull
888 #define YepARMSimdFeatureNEON2 0x0000000000000020ull
897 #define YepARMSystemFeatureVFPVectorMode 0x0000000100000000ull
907 #define YepMIPSIsaFeatureR2 0x0000000000000001ull
911 #define YepMIPSIsaFeatureMicroMIPS 0x0000000000000002ull
914 #define YepMIPSIsaFeatureFPU 0x0000000000000004ull
917 #define YepMIPSIsaFeatureMT 0x0000000000000008ull
920 #define YepMIPSIsaFeatureMIPS16 0x0000000000000010ull
923 #define YepMIPSIsaFeatureSmartMIPS 0x0000000000000020ull
931 #define YepMIPSSimdFeatureMDMX 0x0000000000000001ull
934 #define YepMIPSSimdFeatureMIPS3D 0x0000000000000002ull
937 #define YepMIPSSimdFeaturePairedSingle 0x0000000000000004ull
940 #define YepMIPSSimdFeatureDSP 0x0000000000000008ull
943 #define YepMIPSSimdFeatureDSP2 0x0000000000000010ull
947 #define YepMIPSSimdFeatureGodsonMMX 0x0000000000000020ull
950 #define YepMIPSSimdFeatureIMX 0x0000000000000040ull
955 #define YEP_ENUMERATION_ISA_FEATURE_FOR_ARCHITECTURE(architecture) (256 + (architecture))
956 #define YEP_ENUMERATION_SIMD_FEATURE_FOR_ARCHITECTURE(architecture) (512 + (architecture))
957 #define YEP_ENUMERATION_SYSTEM_FEATURE_FOR_ARCHITECTURE(architecture) (768 + (architecture))