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" : ""), |