src/hotspot/cpu/ppc/vm_version_ppc.cpp

Print this page




 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"    : ""),
 157                (has_lqarx()   ? " lqarx"   : ""),
 158                (has_vcipher() ? " aes"     : ""),
 159                (has_vpmsumb() ? " vpmsumb" : ""),
 160                (has_mfdscr()  ? " mfdscr"  : ""),




 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     if (UseCharacterCompareIntrinsics) {
 146       warning("UseCharacterCompareIntrinsics specified, but needs at least Power9.");
 147       FLAG_SET_DEFAULT(UseCharacterCompareIntrinsics, false);
 148     }
 149   }
 150 #endif
 151 
 152   // Create and print feature-string.
 153   char buf[(num_features+1) * 16]; // Max 16 chars per feature.
 154   jio_snprintf(buf, sizeof(buf),
 155                "ppc64%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
 156                (has_fsqrt()   ? " fsqrt"   : ""),
 157                (has_isel()    ? " isel"    : ""),
 158                (has_lxarxeh() ? " lxarxeh" : ""),
 159                (has_cmpb()    ? " cmpb"    : ""),
 160                (has_popcntb() ? " popcntb" : ""),
 161                (has_popcntw() ? " popcntw" : ""),
 162                (has_fcfids()  ? " fcfids"  : ""),
 163                (has_vand()    ? " vand"    : ""),
 164                (has_lqarx()   ? " lqarx"   : ""),
 165                (has_vcipher() ? " aes"     : ""),
 166                (has_vpmsumb() ? " vpmsumb" : ""),
 167                (has_mfdscr()  ? " mfdscr"  : ""),