[aarch64-port-dev ] RFR: 8129551: some regressions introduced by addition of vectorisation code
Edward Nevill
edward.nevill at linaro.org
Tue Jun 23 10:12:12 UTC 2015
Hi,
The following webrev
http://cr.openjdk.java.net/~enevill/8129551/webrev
fixes a number of regressions introduced in the addition of vectorisation for aarch64 as follows:-
java/math/BigInteger/BigIntegerTest.java
fails with an assertion failure when run with fastdebug or slowdebug builds
# Internal Error (/home/alexander/build-open-jdk/dev/jdk9/baseline/dev/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp:2078), pid=8124, tid=0x0000007ec61eb1f0
# assert(op == 0 && 0 == 0) failed: must be MOVI
and also in test
java/math/BigInteger/ModPow.java
java.math.BigInteger::add gets miscompiled. There is a
ldr q16, [x17,x10,lsl #4]
which should be a
ldr q16, [x17,x10]
I have also moved
void MacroAssembler::mov(FloatRegister Vd, SIMD_Arrangement T, u_int32_t imm32)
to macroAssembler_aarch64.cpp from macroAssembler_aarch64.hpp as it was getting much too large for a .hpp.
I have tested the original and webrev version with JTreg (hotspot, langtools & jdk) with the following results:-
Original:-
hotspot: Test results: passed: 849; failed: 11; error: 6
langtools: Test results: passed: 3,240; error: 2
jdk: Test results: passed: 6,103; failed: 568; error: 26
Revised:-
hotspot: Test results: passed: 849; failed: 11; error: 6
langtools: Test results: passed: 3,240; error: 2
jdk: Test results: passed: 6,108; failed: 567; error: 22
This changeset only affects aarch64 files.
Please review and if OK I will push,
Thanks,
Ed.
More information about the aarch64-port-dev
mailing list