Details
-
Bug
-
Resolution: Fixed
-
P4
-
17, 20, 21
-
b08
Description
This showed up with some panama benchmarks.
The following code snippet is not vectorized because vectorization is not even attempted after range check eliminations has eliminated all tests in the main loop body:
public static void test1(byte[] dest, long[] src) {
for (int i = 0; i < src.length; i++) {
if ((i < 0) || (8 > sizeBytes - i)) {
throw new IndexOutOfBoundsException();
}
UNSAFE.putLongUnaligned(dest, UNSAFE.ARRAY_BYTE_BASE_OFFSET + i * 8, src[i]);
}
}
The following code snippet is not vectorized because vectorization is not even attempted after range check eliminations has eliminated all tests in the main loop body:
public static void test1(byte[] dest, long[] src) {
for (int i = 0; i < src.length; i++) {
if ((i < 0) || (8 > sizeBytes - i)) {
throw new IndexOutOfBoundsException();
}
UNSAFE.putLongUnaligned(dest, UNSAFE.ARRAY_BYTE_BASE_OFFSET + i * 8, src[i]);
}
}
Attachments
Issue Links
- relates to
-
JDK-8301785 [Lilliput] Test failure in TestVectorizationNotRun.java
- Closed
-
JDK-8301944 assert(cmp == __null) failed: A cmp with 2 OpaqueZeroTripGuard inputs with -XX:+PostLoopMultiversioning
- Closed