117 // TODO: PPC port } else {
118 // TODO: PPC port PdScheduling::power6SectorSize = 0x20;
119 }
120
121 if (PowerArchitecturePPC64 >= 8) {
122 if (FLAG_IS_DEFAULT(SuperwordUseVSX)) {
123 FLAG_SET_ERGO(bool, SuperwordUseVSX, true);
124 }
125 } else {
126 if (SuperwordUseVSX) {
127 warning("SuperwordUseVSX specified, but needs at least Power8.");
128 FLAG_SET_DEFAULT(SuperwordUseVSX, false);
129 }
130 }
131 MaxVectorSize = SuperwordUseVSX ? 16 : 8;
132
133 if (PowerArchitecturePPC64 >= 9) {
134 if (FLAG_IS_DEFAULT(UseCountTrailingZerosInstructionsPPC64)) {
135 FLAG_SET_ERGO(bool, UseCountTrailingZerosInstructionsPPC64, true);
136 }
137 } else {
138 if (UseCountTrailingZerosInstructionsPPC64) {
139 warning("UseCountTrailingZerosInstructionsPPC64 specified, but needs at least Power9.");
140 FLAG_SET_DEFAULT(UseCountTrailingZerosInstructionsPPC64, false);
141 }
142 }
143 #endif
144
145 // Create and print feature-string.
146 char buf[(num_features+1) * 16]; // Max 16 chars per feature.
147 jio_snprintf(buf, sizeof(buf),
148 "ppc64%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
149 (has_fsqrt() ? " fsqrt" : ""),
150 (has_isel() ? " isel" : ""),
151 (has_lxarxeh() ? " lxarxeh" : ""),
152 (has_cmpb() ? " cmpb" : ""),
153 (has_popcntb() ? " popcntb" : ""),
154 (has_popcntw() ? " popcntw" : ""),
155 (has_fcfids() ? " fcfids" : ""),
156 (has_vand() ? " vand" : ""),
|
117 // TODO: PPC port } else {
118 // TODO: PPC port PdScheduling::power6SectorSize = 0x20;
119 }
120
121 if (PowerArchitecturePPC64 >= 8) {
122 if (FLAG_IS_DEFAULT(SuperwordUseVSX)) {
123 FLAG_SET_ERGO(bool, SuperwordUseVSX, true);
124 }
125 } else {
126 if (SuperwordUseVSX) {
127 warning("SuperwordUseVSX specified, but needs at least Power8.");
128 FLAG_SET_DEFAULT(SuperwordUseVSX, false);
129 }
130 }
131 MaxVectorSize = SuperwordUseVSX ? 16 : 8;
132
133 if (PowerArchitecturePPC64 >= 9) {
134 if (FLAG_IS_DEFAULT(UseCountTrailingZerosInstructionsPPC64)) {
135 FLAG_SET_ERGO(bool, UseCountTrailingZerosInstructionsPPC64, true);
136 }
137 if (FLAG_IS_DEFAULT(UseCharacterCompareIntrinsics)) {
138 FLAG_SET_ERGO(bool, UseCharacterCompareIntrinsics, true);
139 }
140 } else {
141 if (UseCountTrailingZerosInstructionsPPC64) {
142 warning("UseCountTrailingZerosInstructionsPPC64 specified, but needs at least Power9.");
143 FLAG_SET_DEFAULT(UseCountTrailingZerosInstructionsPPC64, false);
144 }
145 }
146 #endif
147
148 // Create and print feature-string.
149 char buf[(num_features+1) * 16]; // Max 16 chars per feature.
150 jio_snprintf(buf, sizeof(buf),
151 "ppc64%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
152 (has_fsqrt() ? " fsqrt" : ""),
153 (has_isel() ? " isel" : ""),
154 (has_lxarxeh() ? " lxarxeh" : ""),
155 (has_cmpb() ? " cmpb" : ""),
156 (has_popcntb() ? " popcntb" : ""),
157 (has_popcntw() ? " popcntw" : ""),
158 (has_fcfids() ? " fcfids" : ""),
159 (has_vand() ? " vand" : ""),
|