Mercurial > hg > truffle
comparison src/cpu/x86/vm/vm_version_x86.cpp @ 3276:2a34a4fbc52c
7037812: few more defaults changes for new AMD processors
Summary: use PREFETCHW as default prefetch instruction, set UseXMMForArrayCopy and UseUnalignedLoadStores to true by default.
Reviewed-by: kvn
Contributed-by: tom.deneau@amd.com
author | kvn |
---|---|
date | Tue, 19 Apr 2011 09:30:17 -0700 |
parents | 15c9a0e16269 |
children | fe189d4a44e9 6ae7a1561b53 |
comparison
equal
deleted
inserted
replaced
3275:bbe95b4337f1 | 3276:2a34a4fbc52c |
---|---|
439 if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) { | 439 if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) { |
440 UseCountLeadingZerosInstruction = true; | 440 UseCountLeadingZerosInstruction = true; |
441 } | 441 } |
442 } | 442 } |
443 | 443 |
444 // On family 21 processors default is no sw prefetch | 444 // some defaults for AMD family 15h |
445 if ( cpu_family() == 21 ) { | 445 if ( cpu_family() == 0x15 ) { |
446 // On family 15h processors default is no sw prefetch | |
446 if (FLAG_IS_DEFAULT(AllocatePrefetchStyle)) { | 447 if (FLAG_IS_DEFAULT(AllocatePrefetchStyle)) { |
447 AllocatePrefetchStyle = 0; | 448 AllocatePrefetchStyle = 0; |
448 } | 449 } |
449 } | 450 // Also, if some other prefetch style is specified, default instruction type is PREFETCHW |
451 if (FLAG_IS_DEFAULT(AllocatePrefetchInstr)) { | |
452 AllocatePrefetchInstr = 3; | |
453 } | |
454 // On family 15h processors use XMM and UnalignedLoadStores for Array Copy | |
455 if( FLAG_IS_DEFAULT(UseXMMForArrayCopy) ) { | |
456 UseXMMForArrayCopy = true; | |
457 } | |
458 if( FLAG_IS_DEFAULT(UseUnalignedLoadStores) && UseXMMForArrayCopy ) { | |
459 UseUnalignedLoadStores = true; | |
460 } | |
461 } | |
462 | |
450 } | 463 } |
451 | 464 |
452 if( is_intel() ) { // Intel cpus specific settings | 465 if( is_intel() ) { // Intel cpus specific settings |
453 if( FLAG_IS_DEFAULT(UseStoreImmI16) ) { | 466 if( FLAG_IS_DEFAULT(UseStoreImmI16) ) { |
454 UseStoreImmI16 = false; // don't use it on Intel cpus | 467 UseStoreImmI16 = false; // don't use it on Intel cpus |