United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6667588 Don't generate duplicated CMP for float/double values
6667588 : Don't generate duplicated CMP for float/double values

Details
Type:
Enhancement
Submit Date:
2008-02-26
Status:
Closed
Updated Date:
2011-04-20
Project Name:
JDK
Resolved Date:
2011-04-20
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs12
Fixed Versions:
hs12

Related Reports
Backport:
Backport:

Sub Tasks

Description
C2 has optimization which replaces diamond graphs with CMove
(method PhaseIdealLoop::conditional_move()).
Each CMove instruction has own Cmp instruction to produce condition flags.
But float/double Cmp is expensive and it would be better to use a diamond graph
if we have more then one move.

                                    

Comments
SUGGESTED FIX

Don't generate float CMove instruction if there are more then one Move
depending on the condition.
                                     
2008-03-03
EVALUATION

See description.
                                     
2008-03-03



Hardware and Software, Engineered to Work Together