RFR: 8353786: Migrate Vector API math library support to FFM API [v13]

Vladimir Ivanov vlivanov at openjdk.org
Fri Apr 25 21:26:54 UTC 2025


On Fri, 25 Apr 2025 09:41:21 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> It does look attractive, but macro expansion-based solution requires JVM to internalize such operations and their properties. 
>> 
>> IMO a higher-level solution based on more generic JVM primitives would enable libraries to properly annotate their operations in Java bytecodes/class files, so C2 can perform such type of transformations without the need to intrinsify each individual operation first. (Think of [JDK-8218414](https://bugs.openjdk.org/browse/JDK-8218414) / [JDK-8347901](https://bugs.openjdk.org/browse/JDK-8347901) on steroids.)
>
> I agree, this is a typical graph transform which cannot be applied currently because we are generating CallLeafVectorNode upfront during parsing, If we prevent intrinsification then compiler will attempt inlining, generating a much complex graph shape which may not be reducible.

I don't see any insurmountable problems performing such transformations on chains of `CallLeafVector` nodes (or any other call nodes). But the missing piece is information about the algebraic properties of native functions JVM can't derive on its own.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24462#discussion_r2060898080


More information about the hotspot-compiler-dev mailing list