642 declare_constant(VM_Version::CPU_TSC) \
643 declare_constant(VM_Version::CPU_TSCINV) \
644 declare_constant(VM_Version::CPU_AVX) \
645 declare_constant(VM_Version::CPU_AVX2) \
646 declare_constant(VM_Version::CPU_AES) \
647 declare_constant(VM_Version::CPU_ERMS) \
648 declare_constant(VM_Version::CPU_CLMUL) \
649 declare_constant(VM_Version::CPU_BMI1) \
650 declare_constant(VM_Version::CPU_BMI2) \
651 declare_constant(VM_Version::CPU_RTM) \
652 declare_constant(VM_Version::CPU_ADX) \
653 declare_constant(VM_Version::CPU_AVX512F) \
654 declare_constant(VM_Version::CPU_AVX512DQ) \
655 declare_constant(VM_Version::CPU_AVX512PF) \
656 declare_constant(VM_Version::CPU_AVX512ER) \
657 declare_constant(VM_Version::CPU_AVX512CD)
658
659 #define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
660 declare_preprocessor_constant("VM_Version::CPU_AVX512BW", CPU_AVX512BW) \
661 declare_preprocessor_constant("VM_Version::CPU_AVX512VL", CPU_AVX512VL) \
662 declare_preprocessor_constant("VM_Version::CPU_SHA", CPU_SHA)
663
664 #endif // TARGET_ARCH_x86
665
666
667 #ifdef TARGET_ARCH_sparc
668
669 #define VM_STRUCTS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) \
670 volatile_nonstatic_field(JavaFrameAnchor, _flags, int)
671
672 #define VM_INT_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
673 declare_constant(VM_Version::vis1_instructions_m) \
674 declare_constant(VM_Version::vis2_instructions_m) \
675 declare_constant(VM_Version::vis3_instructions_m) \
676 declare_constant(VM_Version::cbcond_instructions_m) \
677 declare_constant(VM_Version::v8_instructions_m) \
678 declare_constant(VM_Version::hardware_mul32_m) \
679 declare_constant(VM_Version::hardware_div32_m) \
680 declare_constant(VM_Version::hardware_fsmuld_m) \
681 declare_constant(VM_Version::hardware_popc_m) \
682 declare_constant(VM_Version::v9_instructions_m) \
|
642 declare_constant(VM_Version::CPU_TSC) \
643 declare_constant(VM_Version::CPU_TSCINV) \
644 declare_constant(VM_Version::CPU_AVX) \
645 declare_constant(VM_Version::CPU_AVX2) \
646 declare_constant(VM_Version::CPU_AES) \
647 declare_constant(VM_Version::CPU_ERMS) \
648 declare_constant(VM_Version::CPU_CLMUL) \
649 declare_constant(VM_Version::CPU_BMI1) \
650 declare_constant(VM_Version::CPU_BMI2) \
651 declare_constant(VM_Version::CPU_RTM) \
652 declare_constant(VM_Version::CPU_ADX) \
653 declare_constant(VM_Version::CPU_AVX512F) \
654 declare_constant(VM_Version::CPU_AVX512DQ) \
655 declare_constant(VM_Version::CPU_AVX512PF) \
656 declare_constant(VM_Version::CPU_AVX512ER) \
657 declare_constant(VM_Version::CPU_AVX512CD)
658
659 #define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
660 declare_preprocessor_constant("VM_Version::CPU_AVX512BW", CPU_AVX512BW) \
661 declare_preprocessor_constant("VM_Version::CPU_AVX512VL", CPU_AVX512VL) \
662 declare_preprocessor_constant("VM_Version::CPU_SHA", CPU_SHA) \
663 declare_preprocessor_constant("VM_Version::CPU_FMA", CPU_FMA)
664
665 #endif // TARGET_ARCH_x86
666
667
668 #ifdef TARGET_ARCH_sparc
669
670 #define VM_STRUCTS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) \
671 volatile_nonstatic_field(JavaFrameAnchor, _flags, int)
672
673 #define VM_INT_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
674 declare_constant(VM_Version::vis1_instructions_m) \
675 declare_constant(VM_Version::vis2_instructions_m) \
676 declare_constant(VM_Version::vis3_instructions_m) \
677 declare_constant(VM_Version::cbcond_instructions_m) \
678 declare_constant(VM_Version::v8_instructions_m) \
679 declare_constant(VM_Version::hardware_mul32_m) \
680 declare_constant(VM_Version::hardware_div32_m) \
681 declare_constant(VM_Version::hardware_fsmuld_m) \
682 declare_constant(VM_Version::hardware_popc_m) \
683 declare_constant(VM_Version::v9_instructions_m) \
|