[lworld+fp16] Integrated: 8338102: x86 backend support for newly added Float16 intrinsics.

Jatin Bhateja jbhateja at openjdk.org
Mon Aug 12 18:39:45 UTC 2024


On Fri, 9 Aug 2024 10:35:31 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> This patch enables newly added Float16 intrinsicfication support added by [JDK-8336406](https://bugs.openjdk.org/browse/JDK-8336406) for x86 targets supporting AVX512_FP16 feature.
> 
> Kindly review and approve.
> 
> Best Regards,
> Jatin
> 
> Hi @Bhavana-Kilambi, 
> On a second thought, do you see a possibility of sharing the IR nodes by appending secondary opcode to shared IR node in applicable scenarios, so we can have one IR for each class of operations (unary / binary / ternary).  It may need defining following new matcher routines and some more interfaces:- 
> 
>    match_rule_supported_shared(int primary_opcode, int secondary_opcode)
>    match_rule_supported_vector_shared (int primary_opcode, int secondary_opcode, int vlen, BasicType bt)
>    VectorNode::opcode(int popc, int sopc, BasicType bt)
> 
> BinaryOpNode (Dst, Src1, Src2, immI_Opcode);   
> 
> 
> Secondary opcode being a immediate operand can be accessed by encoding routines. WDYT ?
> 
> Another possibility could be to encode both primary and secondary opcodes in existing opcode without disturbing the interfaces and add relevant helper routines to extract primary / secondary opcodes, I think opcodes are never -ve values, hence secondary opcode could be accommodated into higher order bits starting from (MSB-1).

This pull request has now been integrated.

Changeset: c6a704dc
Author:    Jatin Bhateja <jbhateja at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/c6a704dca7e0b1be2e8e35f00aea1ef923348b48
Stats:     163 lines in 7 files changed: 150 ins; 0 del; 13 mod

8338102: x86 backend support for newly added Float16 intrinsics.

Reviewed-by: bkilambi

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

PR: https://git.openjdk.org/valhalla/pull/1196


More information about the valhalla-dev mailing list