RFR: 8370691: Add new Float16Vector type and enable intrinsification of vector operations supported by auto-vectorizer [v12]

Jatin Bhateja jbhateja at openjdk.org
Tue Jan 20 11:56:19 UTC 2026


On Mon, 19 Jan 2026 15:49:49 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 28 commits:
>> 
>>  - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
>>  - Adding testpoint for JDK-8373574
>>  - Review comments resolutions
>>  - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
>>  - Fix incorrect argument passed to smokeTest
>>  - Fix from Bhavana Kilambi for failing JTREG regressions on AARCH64
>>  - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
>>  - Including test changes from Bhavana Kilambi (ARM)
>>  - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
>>  - Optimizing tail handling
>>  - ... and 18 more: https://git.openjdk.org/jdk/compare/499b5882...273b219e
>
> src/hotspot/share/utilities/globalDefinitions.hpp line 741:
> 
>> 739: inline bool is_custom_basic_type(BasicType t) {
>> 740:   return (t == T_FLOAT16);
>> 741: }
> 
> What exactly is the definition of a "custom" basic type? Is it defined somewhere?
> If not, it would be useful to define it here.
> 
> I assume you chose the name because we expect more such "custom" basic types in the future?

You are right, primarily basic types are driven by JVM language specification...in this case T_FLOAT16 is a non standard basic type.

> test/jdk/jdk/incubator/vector/IntVectorMaxTests.java line 68:
> 
>> 66:     static IntVector bcast_vec = IntVector.broadcast(SPECIES, (int)10);
>> 67: 
>> 68:     static void AssertEquals(int actual, int expected) {
> 
> There are lots of changes in this file that do not seem to have anything to do with Float16. Please file them separately. It will make review much easier.

I have added an assertion wrapper so that float16 values (short) can be converted to float before calling actual Assert.* routines to handle all possible NaN bit patterns. Since the tests are generate from common template hence these changes appear.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28002#discussion_r2708024220
PR Review Comment: https://git.openjdk.org/jdk/pull/28002#discussion_r2708023788


More information about the hotspot-compiler-dev mailing list