United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6340864 Implement vectorization optimizations in hotspot-server
JDK-6340864 : Implement vectorization optimizations in hotspot-server

Details
Type:
Enhancement
Submit Date:
2005-10-24
Status:
Resolved
Updated Date:
2013-11-12
Project Name:
JDK
Resolved Date:
2012-08-27
Component:
hotspot
OS:
linux
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
5.0,7
Fixed Versions:
hs24 (b21)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Duplicate:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
A DESCRIPTION OF THE REQUEST :
Almost all C-compilers available are able to vectorize code, so that simple code in loops for example can be processed in parallel by using the SIMD registers of modern CPUs like SSE1/2 or AltiVec.

Hotspot-server still uses SSE only for batch-procession of fpu-operations and it would be great if hotspot would be also able to optimize this caseses since it sometimes can even double performance.

JUSTIFICATION :
to archive higher performance on algorythmic code.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
code like this should be vectorized:

int x;
int[] a = new int[10000];
for(int i=0; i < a.length; i++)
{
  x += a[i];
}
ACTUAL -
the generated code does not make any use of SIMD commands

CUSTOMER SUBMITTED WORKAROUND :
Write C libraries which handle all the complex stuff and write java-code just for the stuff arround itl

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/006050192a5a
                                     
2012-08-20
EVALUATION

Note, these changes will not vectorize sum of arrays's elements loop as requested in Description. It needs more work and I filed separate RFE for that: 7192383.
                                     
2012-08-20



Hardware and Software, Engineered to Work Together