src/cpu/x86/vm/vm_version_x86.cpp

Print this page




 412       if( supports_sse4a() ) {
 413         UseXmmRegToRegMoveAll = true; // use movaps, movapd only on '10h'
 414       } else {
 415         UseXmmRegToRegMoveAll = false;
 416       }
 417     }
 418     if( FLAG_IS_DEFAULT(UseXmmI2F) ) {
 419       if( supports_sse4a() ) {
 420         UseXmmI2F = true;
 421       } else {
 422         UseXmmI2F = false;
 423       }
 424     }
 425     if( FLAG_IS_DEFAULT(UseXmmI2D) ) {
 426       if( supports_sse4a() ) {
 427         UseXmmI2D = true;
 428       } else {
 429         UseXmmI2D = false;
 430       }
 431     }





 432 
 433     // Use count leading zeros count instruction if available.
 434     if (supports_lzcnt()) {
 435       if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) {
 436         UseCountLeadingZerosInstruction = true;
 437       }
 438     }
 439   }
 440 
 441   if( is_intel() ) { // Intel cpus specific settings
 442     if( FLAG_IS_DEFAULT(UseStoreImmI16) ) {
 443       UseStoreImmI16 = false; // don't use it on Intel cpus
 444     }
 445     if( cpu_family() == 6 || cpu_family() == 15 ) {
 446       if( FLAG_IS_DEFAULT(UseAddressNop) ) {
 447         // Use it on all Intel cpus starting from PentiumPro
 448         UseAddressNop = true;
 449       }
 450     }
 451     if( FLAG_IS_DEFAULT(UseXmmLoadAndClearUpper) ) {




 412       if( supports_sse4a() ) {
 413         UseXmmRegToRegMoveAll = true; // use movaps, movapd only on '10h'
 414       } else {
 415         UseXmmRegToRegMoveAll = false;
 416       }
 417     }
 418     if( FLAG_IS_DEFAULT(UseXmmI2F) ) {
 419       if( supports_sse4a() ) {
 420         UseXmmI2F = true;
 421       } else {
 422         UseXmmI2F = false;
 423       }
 424     }
 425     if( FLAG_IS_DEFAULT(UseXmmI2D) ) {
 426       if( supports_sse4a() ) {
 427         UseXmmI2D = true;
 428       } else {
 429         UseXmmI2D = false;
 430       }
 431     }
 432     if( FLAG_IS_DEFAULT(UseSSE42Intrinsics) ) {
 433       if( supports_sse4_2() && UseSSE >= 4 ) {
 434         UseSSE42Intrinsics = true;
 435       }
 436     }
 437 
 438     // Use count leading zeros count instruction if available.
 439     if (supports_lzcnt()) {
 440       if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) {
 441         UseCountLeadingZerosInstruction = true;
 442       }
 443     }
 444   }
 445 
 446   if( is_intel() ) { // Intel cpus specific settings
 447     if( FLAG_IS_DEFAULT(UseStoreImmI16) ) {
 448       UseStoreImmI16 = false; // don't use it on Intel cpus
 449     }
 450     if( cpu_family() == 6 || cpu_family() == 15 ) {
 451       if( FLAG_IS_DEFAULT(UseAddressNop) ) {
 452         // Use it on all Intel cpus starting from PentiumPro
 453         UseAddressNop = true;
 454       }
 455     }
 456     if( FLAG_IS_DEFAULT(UseXmmLoadAndClearUpper) ) {