716 717 if (logical_processors_per_package() == 1) { 718 // HT processor could be installed on a system which doesn't support HT. 719 _features &= ~CPU_HT; 720 } 721 722 if (is_intel()) { // Intel cpus specific settings 723 if (is_knights_family()) { 724 _features &= ~CPU_VZEROUPPER; 725 } 726 } 727 728 if (FLAG_IS_DEFAULT(IntelJccErratumMitigation)) { 729 _has_intel_jcc_erratum = compute_has_intel_jcc_erratum(); 730 } else { 731 _has_intel_jcc_erratum = IntelJccErratumMitigation; 732 } 733 734 char buf[512]; 735 int res = jio_snprintf(buf, sizeof(buf), 736 "(%u cores per cpu, %u threads per core) family %d model %d stepping %d" 737 "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s", 738 739 cores_per_cpu(), threads_per_core(), 740 cpu_family(), _model, _stepping, 741 742 (supports_cmov() ? ", cmov" : ""), 743 (supports_cmpxchg8() ? ", cx8" : ""), 744 (supports_fxsr() ? ", fxsr" : ""), 745 (supports_mmx() ? ", mmx" : ""), 746 (supports_sse() ? ", sse" : ""), 747 (supports_sse2() ? ", sse2" : ""), 748 (supports_sse3() ? ", sse3" : ""), 749 (supports_ssse3()? ", ssse3": ""), 750 (supports_sse4_1() ? ", sse4.1" : ""), 751 (supports_sse4_2() ? ", sse4.2" : ""), 752 753 (supports_popcnt() ? ", popcnt" : ""), 754 (supports_vzeroupper() ? ", vzeroupper" : ""), 755 (supports_avx() ? ", avx" : ""), 756 (supports_avx2() ? ", avx2" : ""), 757 (supports_aes() ? ", aes" : ""), 758 (supports_clmul() ? ", clmul" : ""), 759 (supports_erms() ? ", erms" : ""), 760 (supports_rtm() ? ", rtm" : ""), | 716 717 if (logical_processors_per_package() == 1) { 718 // HT processor could be installed on a system which doesn't support HT. 719 _features &= ~CPU_HT; 720 } 721 722 if (is_intel()) { // Intel cpus specific settings 723 if (is_knights_family()) { 724 _features &= ~CPU_VZEROUPPER; 725 } 726 } 727 728 if (FLAG_IS_DEFAULT(IntelJccErratumMitigation)) { 729 _has_intel_jcc_erratum = compute_has_intel_jcc_erratum(); 730 } else { 731 _has_intel_jcc_erratum = IntelJccErratumMitigation; 732 } 733 734 char buf[512]; 735 int res = jio_snprintf(buf, sizeof(buf), 736 "(%u cores per cpu, %u threads per core) family %d model %d stepping %d microcode 0x%x" 737 "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s", 738 739 cores_per_cpu(), threads_per_core(), 740 cpu_family(), _model, _stepping, os::cpu_microcode_revision(), 741 742 (supports_cmov() ? ", cmov" : ""), 743 (supports_cmpxchg8() ? ", cx8" : ""), 744 (supports_fxsr() ? ", fxsr" : ""), 745 (supports_mmx() ? ", mmx" : ""), 746 (supports_sse() ? ", sse" : ""), 747 (supports_sse2() ? ", sse2" : ""), 748 (supports_sse3() ? ", sse3" : ""), 749 (supports_ssse3()? ", ssse3": ""), 750 (supports_sse4_1() ? ", sse4.1" : ""), 751 (supports_sse4_2() ? ", sse4.2" : ""), 752 753 (supports_popcnt() ? ", popcnt" : ""), 754 (supports_vzeroupper() ? ", vzeroupper" : ""), 755 (supports_avx() ? ", avx" : ""), 756 (supports_avx2() ? ", avx2" : ""), 757 (supports_aes() ? ", aes" : ""), 758 (supports_clmul() ? ", clmul" : ""), 759 (supports_erms() ? ", erms" : ""), 760 (supports_rtm() ? ", rtm" : ""), |