Commit 29f86e0 authored and committed Nov 30, 2020
1 parent 7f58a8e commit 29f86e0 Copy full SHA for 29f86e0
File tree 1 file changed +12
-3
lines changed
1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -1311,9 +1311,10 @@ void VM_Version::get_processor_features() {
1311
1311
}
1312
1312
#endif // COMPILER2
1313
1313
1314
- // Some defaults for AMD family 17h || Hygon family 18h
1315
- if (cpu_family () == 0x17 || cpu_family () == 0x18 ) {
1316
- // On family 17h processors use XMM and UnalignedLoadStores for Array Copy
1314
+ // Some defaults for AMD family >= 17h && Hygon family 18h
1315
+ if (cpu_family () >= 0x17 ) {
1316
+ // On family >=17h processors use XMM and UnalignedLoadStores
1317
+ // for Array Copy
1317
1318
if (supports_sse2 () && FLAG_IS_DEFAULT (UseXMMForArrayCopy)) {
1318
1319
FLAG_SET_DEFAULT (UseXMMForArrayCopy, true );
1319
1320
}
@@ -1519,6 +1520,14 @@ void VM_Version::get_processor_features() {
1519
1520
FLAG_SET_DEFAULT (UseFastStosb, false );
1520
1521
}
1521
1522
1523
+ // For AMD Processors use XMM/YMM MOVDQU instructions
1524
+ // for Object Initialization as default
1525
+ if (is_amd () && cpu_family () >= 0x19 ) {
1526
+ if (FLAG_IS_DEFAULT (UseFastStosb)) {
1527
+ UseFastStosb = false ;
1528
+ }
1529
+ }
1530
+
1522
1531
// Use XMM/YMM MOVDQU instruction for Object Initialization
1523
1532
if (!UseFastStosb && UseSSE >= 2 && UseUnalignedLoadStores) {
1524
1533
if (FLAG_IS_DEFAULT (UseXMMForObjInit)) {
You can’t perform that action at this time.
0 commit comments