RFR: 8342103: C2 compiler support for Float16 type and associated scalar operations [v9]
Jatin Bhateja
jbhateja at openjdk.org
Mon Jan 13 09:06:13 UTC 2025
On Thu, 9 Jan 2025 13:13:30 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Jatin Bhateja has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
>>
>> Updating copyright year of modified files.
>
> src/hotspot/share/opto/superword.cpp line 2567:
>
>> 2565: // half float to float, in such a case back propagation of narrow type (SHORT)
>> 2566: // may not be possible.
>> 2567: if (n->Opcode() == Op_ConvF2HF || n->Opcode() == Op_ReinterpretHF2S) {
>
> Is this relevant, or does that belong to a different (vector) RFE?
It makes sure to assign a SHORT container type to the ReinterpretHF2S node which could be succeeded by a ConvHF2F IR which expects its inputs to be of SHORT type. During early phase of SLP extraction we get into a control flow querying the implemented vector IR opcode through split_packs_only_implemented_with_smaller_size
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/vectornode.cpp#L1446
This scenario is tested by following JTREG
[test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java](https://github.com/openjdk/jdk/pull/22754/files#diff-7e7404a977d8ca567f8005b80bd840ea2e722c022e7187fa2dd21df4a5837faaR49)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22754#discussion_r1912858395
More information about the hotspot-compiler-dev
mailing list