RFR: 8356176: C2 MemorySegment: missing RCE with byteSize() in Loop Exit Check inside the for Expression [v3]
Manuel Hässig
mhaessig at openjdk.org
Tue Aug 12 15:20:20 UTC 2025
On Tue, 12 Aug 2025 12:54:13 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Manuel Hässig has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Improve comment
>> - Fix build failure on product
>
> test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegmentByteSizeLongLoopLimit.java line 62:
>
>> 60: @Test
>> 61: @IR(counts = {IRNode.LOAD_VECTOR_I, IRNode.VECTOR_SIZE_ANY, "> 0",
>> 62: IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, "> 0",
>
> Oh I only just saw it now. Do you think we can specify the `VECTOR_SIZE` more precisely?
> If we don't assert the vector size, it could be that we generate vectors that are smaller, and produce lower performance.
>
> The issue may have been that we have mixed types here.
>
> I wonder if this approach would work for you here:
> `test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java: IRNode.VECTOR_CAST_I2L, IRNode.VECTOR_SIZE + "min(max_int, max_long)", "> 0",`
TIL about the language for vector sizes, thank you.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26429#discussion_r2270242045
More information about the hotspot-compiler-dev
mailing list