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