src/hotspot/cpu/ppc/vm_version_ppc.cpp

Print this page




 112   }
 113 
 114   // On Power6 test for section size.
 115   if (PowerArchitecturePPC64 == 6) {
 116     determine_section_size();
 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 #endif
 133 
 134   // Create and print feature-string.
 135   char buf[(num_features+1) * 16]; // Max 16 chars per feature.
 136   jio_snprintf(buf, sizeof(buf),
 137                "ppc64%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
 138                (has_fsqrt()   ? " fsqrt"   : ""),
 139                (has_isel()    ? " isel"    : ""),
 140                (has_lxarxeh() ? " lxarxeh" : ""),
 141                (has_cmpb()    ? " cmpb"    : ""),
 142                (has_popcntb() ? " popcntb" : ""),
 143                (has_popcntw() ? " popcntw" : ""),
 144                (has_fcfids()  ? " fcfids"  : ""),
 145                (has_vand()    ? " vand"    : ""),
 146                (has_lqarx()   ? " lqarx"   : ""),
 147                (has_vcipher() ? " aes"     : ""),
 148                (has_vpmsumb() ? " vpmsumb" : ""),
 149                (has_mfdscr()  ? " mfdscr"  : ""),
 150                (has_vsx()     ? " vsx"     : ""),
 151                (has_ldbrx()   ? " ldbrx"   : ""),




 112   }
 113 
 114   // On Power6 test for section size.
 115   if (PowerArchitecturePPC64 == 6) {
 116     determine_section_size();
 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"  : ""),
 161                (has_vsx()     ? " vsx"     : ""),
 162                (has_ldbrx()   ? " ldbrx"   : ""),