[aarch64-port-dev ] [10] RFR: 8186915 - AARCH64: Intrinsify squareToLen and mulAdd

Dmitrij Pochepko dmitrij.pochepko at bell-sw.com
Thu Aug 31 13:39:29 UTC 2017


Hi,

please review a patch for "8186915 - AARCH64: Intrinsify squareToLen and 
mulAdd" which adds respective intrinsics.

webrev: http://cr.openjdk.java.net/~dpochepk/8186915/webrev.01/
CR: https://bugs.openjdk.java.net/browse/JDK-8186915

With these intrinsics implemented I see 8% improvement in specjvm2008 
crypto.rsa: 2333.13 ops/m vs 2520.11 ops/m.

(results for specjvm2008 crypto rsa are here: 
http://cr.openjdk.java.net/~dpochepk/8186915/specjvm_crypto.rsa_baseline.txt 
and 
http://cr.openjdk.java.net/~dpochepk/8186915/specjvm_crypto.rsa_intrinsic.txt)

I've also created a small microbenchmark: 
http://cr.openjdk.java.net/~dpochepk/8186915/BigIntegerBench.java which 
calls respective method and shows up to about 30% improvement on 
intrinsified version.

raw numbers for:

ThunderX:
- baseline squareToLen: 
http://cr.openjdk.java.net/~dpochepk/8186915/squareToLen_baseline.txt
- intrinsic squareToLen: 
http://cr.openjdk.java.net/~dpochepk/8186915/squareToLen_squareToLen.txt
- baseline mulAdd: 
http://cr.openjdk.java.net/~dpochepk/8186915/muladd_baseline_t88.txt
- intrinsic mulAdd: 
http://cr.openjdk.java.net/~dpochepk/8186915/muladd_intrinsic_t88.txt

Cortex A53:
- baseline squareToLen: 
http://cr.openjdk.java.net/~dpochepk/8186915/squareToLen_baseline_RPi.txt
- intrinsic squareToLen: 
http://cr.openjdk.java.net/~dpochepk/8186915/squareToLen_squareToLen_RPi.txt
- baseline mulAdd: 
http://cr.openjdk.java.net/~dpochepk/8186915/mulAdd_baseline_RPi.txt
- intrinsic mulAdd: 
http://cr.openjdk.java.net/~dpochepk/8186915/mulAdd_intrinsic_RPi.txt

I've also run jtreg tests in jdk/test/java/math/BigInteger/* and found 
no new failures.

Thanks,

Dmitrij



More information about the aarch64-port-dev mailing list