[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