[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