JDK-6340864 : Implement vectorization optimizations in hotspot-server
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0,7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2005-10-24
  • Updated: 2013-11-12
  • Resolved: 2012-08-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u40Resolved 8Fixed hs24Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
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 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

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