< prev index next >

src/cpu/aarch64/vm/vm_version_aarch64.cpp

Print this page
rev 8532 : 8129426: aarch64: add support for PopCount in C2
Summary: Add support for PopCount using SIMD cnt and addv inst
Reviewed-by: duke
Contributed-by: alexander.alexeev@caviumnetworks.com


 234       FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 235     }
 236     if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
 237       FLAG_SET_DEFAULT(UseSHA, false);
 238     }
 239   }
 240 
 241   // This machine allows unaligned memory accesses
 242   if (FLAG_IS_DEFAULT(UseUnalignedAccesses)) {
 243     FLAG_SET_DEFAULT(UseUnalignedAccesses, true);
 244   }
 245 
 246   if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
 247     UseMultiplyToLenIntrinsic = true;
 248   }
 249 
 250   if (FLAG_IS_DEFAULT(UseBarriersForVolatile)) {
 251     UseBarriersForVolatile = (_cpuFeatures & CPU_DMB_ATOMICS) != 0;
 252   }
 253 




 254 #ifdef COMPILER2
 255   if (FLAG_IS_DEFAULT(OptoScheduling)) {
 256     OptoScheduling = true;
 257   }
 258 #endif
 259 }
 260 
 261 void VM_Version::initialize() {
 262   ResourceMark rm;
 263 
 264   stub_blob = BufferBlob::create("getPsrInfo_stub", stub_size);
 265   if (stub_blob == NULL) {
 266     vm_exit_during_initialization("Unable to allocate getPsrInfo_stub");
 267   }
 268 
 269   CodeBuffer c(stub_blob);
 270   VM_Version_StubGenerator g(&c);
 271   getPsrInfo_stub = CAST_TO_FN_PTR(getPsrInfo_stub_t,
 272                                    g.generate_getPsrInfo());
 273 


 234       FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 235     }
 236     if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
 237       FLAG_SET_DEFAULT(UseSHA, false);
 238     }
 239   }
 240 
 241   // This machine allows unaligned memory accesses
 242   if (FLAG_IS_DEFAULT(UseUnalignedAccesses)) {
 243     FLAG_SET_DEFAULT(UseUnalignedAccesses, true);
 244   }
 245 
 246   if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
 247     UseMultiplyToLenIntrinsic = true;
 248   }
 249 
 250   if (FLAG_IS_DEFAULT(UseBarriersForVolatile)) {
 251     UseBarriersForVolatile = (_cpuFeatures & CPU_DMB_ATOMICS) != 0;
 252   }
 253 
 254   if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
 255     UsePopCountInstruction = true;
 256   }
 257 
 258 #ifdef COMPILER2
 259   if (FLAG_IS_DEFAULT(OptoScheduling)) {
 260     OptoScheduling = true;
 261   }
 262 #endif
 263 }
 264 
 265 void VM_Version::initialize() {
 266   ResourceMark rm;
 267 
 268   stub_blob = BufferBlob::create("getPsrInfo_stub", stub_size);
 269   if (stub_blob == NULL) {
 270     vm_exit_during_initialization("Unable to allocate getPsrInfo_stub");
 271   }
 272 
 273   CodeBuffer c(stub_blob);
 274   VM_Version_StubGenerator g(&c);
 275   getPsrInfo_stub = CAST_TO_FN_PTR(getPsrInfo_stub_t,
 276                                    g.generate_getPsrInfo());
 277 
< prev index next >