[aarch64-port-dev ] RFR(S): 8214922: Add vectorization support for fmin/fmax

Pengfei Li (Arm Technology China) Pengfei.Li at arm.com
Thu Dec 20 14:40:43 UTC 2018


Hi,

> > JBS: https://bugs.openjdk.java.net/browse/JDK-8214922
> > Webrev: http://cr.openjdk.java.net/~pli/rfr/8214922/webrev.00/
> 
> That looks nice, thanks. Have you got any jmh numbers for this patch?

I got below results from this JMH case.
http://cr.openjdk.java.net/~pli/rfr/8214922/TestSIMDFpMinMax.java

Binary vector min/max operation
* Double cases testVectMaxDouble() and testVectMinDouble() show 1.2x~1.3x optimized
* Float cases testVectMaxFloat() and testVectMinFloat() show 2.3x~2.4x optimized.

Reduction min/max operation
* Double cases testVectFindMaxSumDouble() and testVectFindMinSumDouble() show no optimization. It is an expected result as I turned off the transformation to reduction nodes when a vector has only 2 lanes.
* Float cases testVectFindMaxSumFloat() and testVectFindMinSumFloat() show ~40x optimized. I know the optimization shouldn't be that much and this is not a well-written case. I tried hard but still didn't find another better code pattern which can be vectorized to min/max reduction instructions.

--
Thanks,
Pengfei



More information about the aarch64-port-dev mailing list