72 #include <yepPredefines.h>
75 #if defined(YEP_MICROSOFT_COMPILER)
77 typedef unsigned char bool;
85 typedef unsigned char Yep8u;
86 typedef unsigned short Yep16u;
87 typedef unsigned int Yep32u;
88 typedef unsigned long long Yep64u;
90 typedef signed char Yep8s;
91 typedef signed short Yep16s;
92 typedef signed int Yep32s;
93 typedef signed long long Yep64s;
96 typedef double Yep64f;
98 typedef size_t YepSize;
100 typedef bool YepBoolean;
104 unsigned exponent : 5;
105 unsigned mantissa : 10;
406 const Yep64u YepIsaFeaturesDefault = 0x0000000000000000ull;
407 const Yep64u YepSimdFeaturesDefault = 0x0000000000000000ull;
408 const Yep64u YepSystemFeaturesDefault = 0x0000000000000000ull;
541 #define YepIsaFeaturesDefault 0x0000000000000000ull
542 #define YepSimdFeaturesDefault 0x0000000000000000ull
543 #define YepSystemFeaturesDefault 0x0000000000000000ull
550 #define YepSystemFeatureCycleCounter 0x0000000000000001ull
553 #define YepSystemFeatureCycleCounter64Bit 0x0000000000000002ull
556 #define YepSystemFeatureAddressSpace64Bit 0x0000000000000004ull
559 #define YepSystemFeatureGPRegisters64Bit 0x0000000000000008ull
562 #define YepSystemFeatureMisalignedAccess 0x0000000000000010ull
565 #define YepSystemFeatureSingleThreaded 0x0000000000000020ull
574 #define YepX86IsaFeatureFPU 0x0000000000000001ull
577 #define YepX86IsaFeatureCpuid 0x0000000000000002ull
580 #define YepX86IsaFeatureRdtsc 0x0000000000000004ull
583 #define YepX86IsaFeatureCMOV 0x0000000000000008ull
586 #define YepX86IsaFeatureSYSENTER 0x0000000000000010ull
589 #define YepX86IsaFeatureSYSCALL 0x0000000000000020ull
592 #define YepX86IsaFeatureMSR 0x0000000000000040ull
595 #define YepX86IsaFeatureClflush 0x0000000000000080ull
598 #define YepX86IsaFeatureMONITOR 0x0000000000000100ull
601 #define YepX86IsaFeatureFXSAVE 0x0000000000000200ull
604 #define YepX86IsaFeatureXSAVE 0x0000000000000400ull
607 #define YepX86IsaFeatureCmpxchg8b 0x0000000000000800ull
610 #define YepX86IsaFeatureCmpxchg16b 0x0000000000001000ull
613 #define YepX86IsaFeatureX64 0x0000000000002000ull
616 #define YepX86IsaFeatureLahfSahf64 0x0000000000004000ull
619 #define YepX86IsaFeatureFsGsBase 0x0000000000008000ull
622 #define YepX86IsaFeatureMovbe 0x0000000000010000ull
625 #define YepX86IsaFeaturePopcnt 0x0000000000020000ull
628 #define YepX86IsaFeatureLzcnt 0x0000000000040000ull
631 #define YepX86IsaFeatureBMI 0x0000000000080000ull
634 #define YepX86IsaFeatureBMI2 0x0000000000100000ull
637 #define YepX86IsaFeatureTBM 0x0000000000200000ull
640 #define YepX86IsaFeatureRdrand 0x0000000000400000ull
643 #define YepX86IsaFeatureACE 0x0000000000800000ull
646 #define YepX86IsaFeatureACE2 0x0000000001000000ull
649 #define YepX86IsaFeatureRNG 0x0000000002000000ull
652 #define YepX86IsaFeaturePHE 0x0000000004000000ull
655 #define YepX86IsaFeaturePMM 0x0000000008000000ull
658 #define YepX86IsaFeatureAES 0x0000000010000000ull
661 #define YepX86IsaFeaturePclmulqdq 0x0000000020000000ull
664 #define YepX86IsaFeatureRdtscp 0x0000000040000000ull
667 #define YepX86IsaFeatureLWP 0x0000000080000000ull
670 #define YepX86IsaFeatureHLE 0x0000000100000000ull
673 #define YepX86IsaFeatureRTM 0x0000000200000000ull
676 #define YepX86IsaFeatureXtest 0x0000000400000000ull
679 #define YepX86IsaFeatureRdseed 0x0000000800000000ull
682 #define YepX86IsaFeatureADX 0x0000001000000000ull
690 #define YepX86SimdFeatureMMX 0x0000000000000001ull
693 #define YepX86SimdFeatureMMXPlus 0x0000000000000002ull
696 #define YepX86SimdFeatureEMMX 0x0000000000000004ull
699 #define YepX86SimdFeature3dnow 0x0000000000000008ull
702 #define YepX86SimdFeature3dnowPlus 0x0000000000000010ull
705 #define YepX86SimdFeature3dnowPrefetch 0x0000000000000020ull
708 #define YepX86SimdFeature3dnowGeode 0x0000000000000040ull
711 #define YepX86SimdFeatureSSE 0x0000000000000080ull
714 #define YepX86SimdFeatureSSE2 0x0000000000000100ull
717 #define YepX86SimdFeatureSSE3 0x0000000000000200ull
720 #define YepX86SimdFeatureSSSE3 0x0000000000000400ull
723 #define YepX86SimdFeatureSSE4_1 0x0000000000000800ull
726 #define YepX86SimdFeatureSSE4_2 0x0000000000001000ull
729 #define YepX86SimdFeatureSSE4A 0x0000000000002000ull
732 #define YepX86SimdFeatureAVX 0x0000000000004000ull
735 #define YepX86SimdFeatureAVX2 0x0000000000008000ull
738 #define YepX86SimdFeatureXOP 0x0000000000010000ull
741 #define YepX86SimdFeatureF16C 0x0000000000020000ull
744 #define YepX86SimdFeatureFMA3 0x0000000000040000ull
747 #define YepX86SimdFeatureFMA4 0x0000000000080000ull
755 #define YepX86SystemFeatureFPU 0x0000000100000000ull
758 #define YepX86SystemFeatureSSE 0x0000000200000000ull
761 #define YepX86SystemFeatureAVX 0x0000000400000000ull
764 #define YepX86SystemFeatureMisalignedSSE 0x0000000800000000ull
767 #define YepX86SystemFeatureACE 0x0000001000000000ull
770 #define YepX86SystemFeatureACE2 0x0000002000000000ull
773 #define YepX86SystemFeatureRNG 0x0000004000000000ull
776 #define YepX86SystemFeaturePHE 0x0000008000000000ull
779 #define YepX86SystemFeaturePMM 0x0000010000000000ull
787 #define YepIA64IsaFeatureBrl 0x0000000000000001ull
790 #define YepIA64IsaFeatureAtomic128 0x0000000000000002ull
793 #define YepIA64IsaFeatureClz 0x0000000000000004ull
796 #define YepIA64IsaFeatureMpy4 0x0000000000000008ull
804 #define YepARMIsaFeatureV4 0x0000000000000001ull
807 #define YepARMIsaFeatureV5 0x0000000000000002ull
810 #define YepARMIsaFeatureV5E 0x0000000000000004ull
813 #define YepARMIsaFeatureV6 0x0000000000000008ull
816 #define YepARMIsaFeatureV6K 0x0000000000000010ull
819 #define YepARMIsaFeatureV7 0x0000000000000020ull
822 #define YepARMIsaFeatureV7MP 0x0000000000000040ull
825 #define YepARMIsaFeatureThumb 0x0000000000000080ull
828 #define YepARMIsaFeatureThumb2 0x0000000000000100ull
831 #define YepARMIsaFeatureThumbEE 0x0000000000000200ull
834 #define YepARMIsaFeatureJazelle 0x0000000000000400ull
837 #define YepARMIsaFeatureFPA 0x0000000000000800ull
840 #define YepARMIsaFeatureVFP 0x0000000000001000ull
843 #define YepARMIsaFeatureVFP2 0x0000000000002000ull
846 #define YepARMIsaFeatureVFP3 0x0000000000004000ull
849 #define YepARMIsaFeatureVFPd32 0x0000000000008000ull
852 #define YepARMIsaFeatureVFP3HP 0x0000000000010000ull
855 #define YepARMIsaFeatureVFP4 0x0000000000020000ull
858 #define YepARMIsaFeatureDiv 0x0000000000040000ull
861 #define YepARMIsaFeatureArmada 0x0000000000080000ull
869 #define YepARMSimdFeatureXScale 0x0000000000000001ull
872 #define YepARMSimdFeatureWMMX 0x0000000000000002ull
875 #define YepARMSimdFeatureWMMX2 0x0000000000000004ull
878 #define YepARMSimdFeatureNEON 0x0000000000000008ull
881 #define YepARMSimdFeatureNEONHP 0x0000000000000010ull
884 #define YepARMSimdFeatureNEON2 0x0000000000000020ull
893 #define YepARMSystemFeatureVFPVectorMode 0x0000000100000000ull
904 #define YepMIPSIsaFeatureR2 0x0000000000000001ull
908 #define YepMIPSIsaFeatureR3 0x0000000000000002ull
912 #define YepMIPSIsaFeatureFPU 0x0000000000000004ull
915 #define YepMIPSIsaFeatureMT 0x0000000000000008ull
918 #define YepMIPSIsaFeatureMIPS16 0x0000000000000010ull
921 #define YepMIPSIsaFeatureSmartmips 0x0000000000000020ull
929 #define YepMIPSSimdFeatureMDMX 0x0000000000000001ull
932 #define YepMIPSSimdFeatureMIPS3D 0x0000000000000002ull
936 #define YepMIPSSimdFeaturePairedSingle 0x0000000000000004ull
939 #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))