< prev index next >

src/cpu/sparc/vm/vm_version_sparc.cpp

Print this page




 190   }
 191 
 192 #ifdef COMPILER2
 193   if (has_fast_rdpc() && FLAG_IS_DEFAULT(UseRDPCForConstantTableBase)) {
 194     FLAG_SET_DEFAULT(UseRDPCForConstantTableBase, true);
 195   }
 196 
 197   // Currently not supported anywhere.
 198   FLAG_SET_DEFAULT(UseFPUForSpilling, false);
 199 
 200   MaxVectorSize = 8;
 201 
 202   assert((InteriorEntryAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 203 #endif
 204 
 205   assert((CodeEntryAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 206   assert((OptoLoopAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 207 
 208   char buf[512];
 209   jio_snprintf(buf, sizeof(buf),
 210                "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",


 211                (has_v9()          ? "v9" : ""),
 212                (has_popc()        ? ", popc" : ""),
 213                (has_vis1()        ? ", vis1" : ""),
 214                (has_vis2()        ? ", vis2" : ""),
 215                (has_blk_init()    ? ", blk_init" : ""),
 216                (has_fmaf()        ? ", fmaf" : ""),
 217                (has_hpc()         ? ", hpc" : ""),
 218                (has_ima()         ? ", ima" : ""),
 219                (has_aes()         ? ", aes" : ""),
 220                (has_des()         ? ", des" : ""),
 221                (has_kasumi()      ? ", kas" : ""),
 222                (has_camellia()    ? ", cam" : ""),
 223                (has_md5()         ? ", md5" : ""),
 224                (has_sha1()        ? ", sha1" : ""),
 225                (has_sha256()      ? ", sha256" : ""),
 226                (has_sha512()      ? ", sha512" : ""),
 227                (has_mpmul()       ? ", mpmul" : ""),
 228                (has_mont()        ? ", mont" : ""),
 229                (has_pause()       ? ", pause" : ""),
 230                (has_cbcond()      ? ", cbcond" : ""),
 231                (has_crc32c()      ? ", crc32c" : ""),
 232 
 233                (has_athena_plus() ? ", athena_plus" : ""),
 234                (has_vis3b()       ? ", vis3b" : ""),
 235                (has_adi()         ? ", adi" : ""),
 236                (has_sparc5()      ? ", sparc5" : ""),
 237                (has_mwait()       ? ", mwait" : ""),
 238                (has_xmpmul()      ? ", xmpmul" : ""),
 239                (has_xmont()       ? ", xmont" : ""),
 240                (has_pause_nsec()  ? ", pause_nsec" : ""),
 241                (has_vamask()      ? ", vamask" : ""),
 242 










 243                (has_fast_idiv()   ? ", *idiv" : ""),
 244                (has_fast_rdpc()   ? ", *rdpc" : ""),
 245                (has_fast_bis()    ? ", *bis" : ""),
 246                (has_fast_ld()     ? ", *ld" : ""),
 247                (has_fast_cmove()  ? ", *cmove" : ""),
 248                (has_fast_ind_br() ? ", *ind_br" : ""),
 249                (has_blk_zeroing() ? ", *blk_zeroing" : ""));
 250 
 251   assert(strlen(buf) >= 2, "must be");
 252 
 253   _features_string = os::strdup(buf);
 254 
 255   log_info(os, cpu)("SPARC features detected: %s", _features_string);
 256 
 257   // UseVIS is set to the smallest of what hardware supports and what the command
 258   // line requires, i.e. you cannot set UseVIS to 3 on older UltraSparc which do
 259   // not support it.
 260 
 261   if (UseVIS > 3) UseVIS = 3;
 262   if (UseVIS < 0) UseVIS = 0;




 190   }
 191 
 192 #ifdef COMPILER2
 193   if (has_fast_rdpc() && FLAG_IS_DEFAULT(UseRDPCForConstantTableBase)) {
 194     FLAG_SET_DEFAULT(UseRDPCForConstantTableBase, true);
 195   }
 196 
 197   // Currently not supported anywhere.
 198   FLAG_SET_DEFAULT(UseFPUForSpilling, false);
 199 
 200   MaxVectorSize = 8;
 201 
 202   assert((InteriorEntryAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 203 #endif
 204 
 205   assert((CodeEntryAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 206   assert((OptoLoopAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 207 
 208   char buf[512];
 209   jio_snprintf(buf, sizeof(buf),
 210                "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s"
 211                "%s%s%s%s%s%s%s%s%s" "%s%s%s%s%s%s%s%s%s"
 212                "%s%s%s%s%s%s%s",
 213                (has_v9()          ? "v9" : ""),
 214                (has_popc()        ? ", popc" : ""),
 215                (has_vis1()        ? ", vis1" : ""),
 216                (has_vis2()        ? ", vis2" : ""),
 217                (has_blk_init()    ? ", blk_init" : ""),
 218                (has_fmaf()        ? ", fmaf" : ""),
 219                (has_hpc()         ? ", hpc" : ""),
 220                (has_ima()         ? ", ima" : ""),
 221                (has_aes()         ? ", aes" : ""),
 222                (has_des()         ? ", des" : ""),
 223                (has_kasumi()      ? ", kas" : ""),
 224                (has_camellia()    ? ", cam" : ""),
 225                (has_md5()         ? ", md5" : ""),
 226                (has_sha1()        ? ", sha1" : ""),
 227                (has_sha256()      ? ", sha256" : ""),
 228                (has_sha512()      ? ", sha512" : ""),
 229                (has_mpmul()       ? ", mpmul" : ""),
 230                (has_mont()        ? ", mont" : ""),
 231                (has_pause()       ? ", pause" : ""),
 232                (has_cbcond()      ? ", cbcond" : ""),
 233                (has_crc32c()      ? ", crc32c" : ""),
 234 
 235                (has_athena_plus() ? ", athena_plus" : ""),
 236                (has_vis3b()       ? ", vis3b" : ""),
 237                (has_adi()         ? ", adi" : ""),
 238                (has_sparc5()      ? ", sparc5" : ""),
 239                (has_mwait()       ? ", mwait" : ""),
 240                (has_xmpmul()      ? ", xmpmul" : ""),
 241                (has_xmont()       ? ", xmont" : ""),
 242                (has_pause_nsec()  ? ", pause_nsec" : ""),
 243                (has_vamask()      ? ", vamask" : ""),
 244 
 245                (has_sparc6()      ? ", sparc6" : ""),
 246                (has_dictunp()     ? ", dictunp" : ""),
 247                (has_fpcmpshl()    ? ", fpcmpshl" : ""),
 248                (has_rle()         ? ", rle" : ""),
 249                (has_sha3()        ? ", sha3" : ""),
 250                (has_athena_plus2()? ", athena_plus2" : ""),
 251                (has_vis3c()       ? ", vis3c" : ""),
 252                (has_sparc5b()     ? ", sparc5b" : ""),
 253                (has_mme()         ? ", mme" : ""),
 254 
 255                (has_fast_idiv()   ? ", *idiv" : ""),
 256                (has_fast_rdpc()   ? ", *rdpc" : ""),
 257                (has_fast_bis()    ? ", *bis" : ""),
 258                (has_fast_ld()     ? ", *ld" : ""),
 259                (has_fast_cmove()  ? ", *cmove" : ""),
 260                (has_fast_ind_br() ? ", *ind_br" : ""),
 261                (has_blk_zeroing() ? ", *blk_zeroing" : ""));
 262 
 263   assert(strlen(buf) >= 2, "must be");
 264 
 265   _features_string = os::strdup(buf);
 266 
 267   log_info(os, cpu)("SPARC features detected: %s", _features_string);
 268 
 269   // UseVIS is set to the smallest of what hardware supports and what the command
 270   // line requires, i.e. you cannot set UseVIS to 3 on older UltraSparc which do
 271   // not support it.
 272 
 273   if (UseVIS > 3) UseVIS = 3;
 274   if (UseVIS < 0) UseVIS = 0;


< prev index next >