RFR: 8364305: Support AVX10 saturating floating point conversion instructions [v12]

Mohamed Issa missa at openjdk.org
Fri Sep 12 20:32:54 UTC 2025


On Thu, 11 Sep 2025 23:27:31 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> Mohamed Issa has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Change the floating point conversion instruction, IR nodes, and test rules to make them clearer
>>  - Change debug text format of AVX 10.2 vector conversion instructions
>
> src/hotspot/cpu/x86/x86.ad line 7669:
> 
>> 7667:   predicate(!VM_Version::supports_avx10_2() &&
>> 7668:             !VM_Version::supports_avx512vl() &&
>> 7669:             Matcher::vector_length_in_bytes(n->in(1)) < 64 &&
> 
> Good to add "is_integral_type(Matcher::vector_element_basic_type(n)) &&" here.

Added

> test/hotspot/jtreg/compiler/vectorapi/VectorFPtoIntCastTest.java line 26:
> 
>> 24: /**
>> 25: * @test
>> 26: * @bug 8287835 8320347
> 
> Did you mean 8364305 here?

Yes, I was looking up a different one. I correct it now. Thanks.

> test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java line 364:
> 
>> 362:         applyIfCPUFeatureAnd = {"avx2", "true", "avx10_2", "false"})
>> 363:     @IR(counts = {IRNode.X86_VCAST_F2X_AVX10, "> 0"},
>> 364:         applyIfCPUFeature = {"avx10_2", "true"})
> 
> Need to add the following for X86_VCAST_F2X as well as X86_VCAST_F2X_AVX10.
> applyIfOr = {"AlignVector", "false", "UseCompactObjectHeaders", "false"},

Added

> test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java line 387:
> 
>> 385:         applyIfCPUFeatureAnd = {"avx2", "true", "avx10_2", "false"})
>> 386:     @IR(counts = {IRNode.X86_VCAST_F2X_AVX10, "> 0"},
>> 387:         applyIfCPUFeature = {"avx10_2", "true"})
> 
> Need to add the following for X86_VCAST_F2X as well as X86_VCAST_F2X_AVX10.
> applyIfOr = {"AlignVector", "false", "UseCompactObjectHeaders", "false"},

Added

> test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java line 413:
> 
>> 411:         applyIfCPUFeatureAnd = {"avx", "true", "avx10_2", "false"})
>> 412:     @IR(counts = {IRNode.X86_VCAST_D2X_AVX10, "> 0"},
>> 413:         applyIfCPUFeature = {"avx10_2", "true"})
> 
> Need to add the following for X86_VCAST_D2X and X86_VCAST_D2X_AVX10:
> applyIf = {"MaxVectorSize", ">=16"},

Added

> test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java line 432:
> 
>> 430:         applyIfCPUFeatureAnd = {"avx", "true", "avx10_2", "false"})
>> 431:     @IR(counts = {IRNode.X86_VCAST_D2X_AVX10, "> 0"},
>> 432:         applyIfCPUFeature = {"avx10_2", "true"})
> 
> Need to add the following for X86_VCAST_D2X and X86_VCAST_D2X_AVX10:
> applyIf = {"MaxVectorSize", ">=16"},

Added

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26919#discussion_r2345368353
PR Review Comment: https://git.openjdk.org/jdk/pull/26919#discussion_r2345369890
PR Review Comment: https://git.openjdk.org/jdk/pull/26919#discussion_r2345368764
PR Review Comment: https://git.openjdk.org/jdk/pull/26919#discussion_r2345368997
PR Review Comment: https://git.openjdk.org/jdk/pull/26919#discussion_r2345369217
PR Review Comment: https://git.openjdk.org/jdk/pull/26919#discussion_r2345369350


More information about the hotspot-compiler-dev mailing list