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) ) { |