comparison src/share/vm/opto/matcher.hpp @ 4047:d8cb48376797

7097546: Optimize use of CMOVE instructions Summary: Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop. Reviewed-by: never
author kvn
date Wed, 26 Oct 2011 06:08:56 -0700
parents 95134e034042
children 6729bbc1fcd6
comparison
equal deleted inserted replaced
4046:e69a66a1457b 4047:d8cb48376797
358 358
359 // Threshold small size (in bytes) for a ClearArray/CopyArray node. 359 // Threshold small size (in bytes) for a ClearArray/CopyArray node.
360 // Anything this size or smaller may get converted to discrete scalar stores. 360 // Anything this size or smaller may get converted to discrete scalar stores.
361 static const int init_array_short_size; 361 static const int init_array_short_size;
362 362
363 // Some hardware needs 2 CMOV's for longs.
364 static const int long_cmove_cost();
365
366 // Some hardware have expensive CMOV for float and double.
367 static const int float_cmove_cost();
368
363 // Should the Matcher clone shifts on addressing modes, expecting them to 369 // Should the Matcher clone shifts on addressing modes, expecting them to
364 // be subsumed into complex addressing expressions or compute them into 370 // be subsumed into complex addressing expressions or compute them into
365 // registers? True for Intel but false for most RISCs 371 // registers? True for Intel but false for most RISCs
366 static const bool clone_shift_expressions; 372 static const bool clone_shift_expressions;
367 373