[vectorIntrinsics+fp16] RFR: 8300571: FP16 support for VectorAPI Transcendental operations.

Jatin Bhateja jbhateja at openjdk.org
Wed Jan 25 05:55:41 UTC 2023


On Thu, 19 Jan 2023 09:13:14 GMT, Swati Sharma <duke at openjdk.org> wrote:

> Hi All,
> 
> The patch contains the below changes:
> •	Support for Transcendental routines for FP16 type.
> •	Re-enabling earlier commented out JTREG tests. 
> 
> Please review and provide your feedback.
> 
> Thanks,
> Swati

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template line 852:

> 850:                     v0.uOp(m, (i, a) -> Halffloat.valueOf((float) Math.cosh(Halffloat.valueOf(a).floatValue())));
> 851:             case VECTOR_OP_TANH: return (v0, m) ->
> 852:                     v0.uOp(m, (i, a) -> Halffloat.valueOf((float) Math.tanh(Halffloat.valueOf(a).floatValue())));

All the Math.* transcendental routines accept a double argument, you can directly use Float.float16ToFloat() instead of Halffloat.valueOf(a).floatValue(), argument will get upcasted to double.

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

PR: https://git.openjdk.org/panama-vector/pull/209


More information about the panama-dev mailing list