comparison src/cpu/sparc/vm/vm_version_sparc.cpp @ 1367:9e321dcfa5b7

6940726: Use BIS instruction for allocation prefetch on Sparc Summary: Use BIS instruction for allocation prefetch on Sparc Reviewed-by: twisti
author kvn
date Wed, 07 Apr 2010 12:39:27 -0700
parents 6476042f815c
children 3bfae429e2cf
comparison
equal deleted inserted replaced
1366:b9d85fcdf743 1367:9e321dcfa5b7
84 // Single-issue, so entry and loop tops are 84 // Single-issue, so entry and loop tops are
85 // aligned on a single instruction boundary 85 // aligned on a single instruction boundary
86 if (FLAG_IS_DEFAULT(InteriorEntryAlignment)) { 86 if (FLAG_IS_DEFAULT(InteriorEntryAlignment)) {
87 FLAG_SET_DEFAULT(InteriorEntryAlignment, 4); 87 FLAG_SET_DEFAULT(InteriorEntryAlignment, 4);
88 } 88 }
89 if (is_niagara1_plus() && FLAG_IS_DEFAULT(AllocatePrefetchDistance)) { 89 if (is_niagara1_plus()) {
90 // Use smaller prefetch distance on N2 90 if (AllocatePrefetchStyle > 0 && FLAG_IS_DEFAULT(AllocatePrefetchStyle)) {
91 FLAG_SET_DEFAULT(AllocatePrefetchDistance, 256); 91 // Use BIS instruction for allocation prefetch.
92 FLAG_SET_DEFAULT(AllocatePrefetchStyle, 3);
93 if (FLAG_IS_DEFAULT(AllocatePrefetchDistance)) {
94 // Use smaller prefetch distance on N2 with BIS
95 FLAG_SET_DEFAULT(AllocatePrefetchDistance, 64);
96 }
97 }
98 if (AllocatePrefetchStyle != 3 && FLAG_IS_DEFAULT(AllocatePrefetchDistance)) {
99 // Use different prefetch distance without BIS
100 FLAG_SET_DEFAULT(AllocatePrefetchDistance, 256);
101 }
92 } 102 }
93 #endif 103 #endif
94 if (FLAG_IS_DEFAULT(OptoLoopAlignment)) { 104 if (FLAG_IS_DEFAULT(OptoLoopAlignment)) {
95 FLAG_SET_DEFAULT(OptoLoopAlignment, 4); 105 FLAG_SET_DEFAULT(OptoLoopAlignment, 4);
96 } 106 }