RFR: 8342768: GTest AssemblerX86.validate_vm failed: assert(VM_Version::supports_bmi1()) failed: tzcnt instruction not supported [v3]

Jatin Bhateja jbhateja at openjdk.org
Thu Oct 24 13:28:07 UTC 2024


On Wed, 23 Oct 2024 23:25:19 GMT, hanklo6 <duke at openjdk.org> wrote:

>> The `tzcnt` instruction requires the VM to support `bmi1` feature, which we set directly when running the test.
>
> hanklo6 has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add flags

src/hotspot/cpu/x86/vm_version_x86.hpp line 646:

> 644:   static void set_evex_cpuFeatures() { _features |= (CPU_AVX512F | CPU_SSE | CPU_SSE2 | CPU_VZEROUPPER ); }
> 645:   static void set_apx_cpuFeatures() { _features |= CPU_APX_F; }
> 646:   static void set_bmi_cpuFeatures() { _features |= (CPU_BMI1 | CPU_BMI2 | CPU_LZCNT); }

__ popcntl(rbx, r8);                                                        //    {load}popcnt ebx, r8d    IID137
    __ popcntl(r8, r9);                                                         //    {load}popcnt r8d, r9d    IID138
    __ popcntl(r9, r10);                                                        //    {load}popcnt r9d, r10d    IID139

Please also add feature CPU_POPCNT

test/hotspot/gtest/x86/test_assemblerx86.cpp line 71:

> 69:   FlagSetting flag_change_apx(UseAPX, true);
> 70:   VM_Version::set_bmi_cpuFeatures();
> 71:   VM_Version::set_evex_cpuFeatures();

FTR, Tests are mainly around REX2 promoted MAP0 and MAP1 legacy instructions, but entire APX support is currently enabled under EVEX flag.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21644#discussion_r1814984450
PR Review Comment: https://git.openjdk.org/jdk/pull/21644#discussion_r1814145204


More information about the hotspot-dev mailing list