On Thu, 9 Jan 2025 13:13:30 GMT, Emanuel Peter <epe...@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

Reply via email to