hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp
changeset 31961 70adcff5840c
parent 31960 4e66771a3e0a
child 32581 632402f18fe6
equal deleted inserted replaced
31960:4e66771a3e0a 31961:70adcff5840c
    41 #define getauxval(hwcap) 0
    41 #define getauxval(hwcap) 0
    42 #endif
    42 #endif
    43 
    43 
    44 #ifndef HWCAP_AES
    44 #ifndef HWCAP_AES
    45 #define HWCAP_AES   (1<<3)
    45 #define HWCAP_AES   (1<<3)
       
    46 #endif
       
    47 
       
    48 #ifndef HWCAP_PMULL
       
    49 #define HWCAP_PMULL (1<<4)
    46 #endif
    50 #endif
    47 
    51 
    48 #ifndef HWCAP_SHA1
    52 #ifndef HWCAP_SHA1
    49 #define HWCAP_SHA1  (1<<5)
    53 #define HWCAP_SHA1  (1<<5)
    50 #endif
    54 #endif
   188     if (UseAESIntrinsics) {
   192     if (UseAESIntrinsics) {
   189       warning("UseAESIntrinsics specified, but not supported on this CPU");
   193       warning("UseAESIntrinsics specified, but not supported on this CPU");
   190     }
   194     }
   191   }
   195   }
   192 
   196 
   193   if (UseGHASHIntrinsics) {
       
   194     warning("GHASH intrinsics are not available on this CPU");
       
   195     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
       
   196   }
       
   197 
       
   198   if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
   197   if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
   199     UseCRC32Intrinsics = true;
   198     UseCRC32Intrinsics = true;
   200   }
   199   }
   201 
   200 
   202   if (auxv & HWCAP_CRC32) {
   201   if (auxv & HWCAP_CRC32) {
   240     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
   239     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
   241   }
   240   }
   242 
   241 
   243   if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
   242   if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
   244     FLAG_SET_DEFAULT(UseSHA, false);
   243     FLAG_SET_DEFAULT(UseSHA, false);
       
   244   }
       
   245 
       
   246   if (auxv & HWCAP_PMULL) {
       
   247     if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
       
   248       FLAG_SET_DEFAULT(UseGHASHIntrinsics, true);
       
   249     }
       
   250   } else if (UseGHASHIntrinsics) {
       
   251     warning("GHASH intrinsics are not available on this CPU");
       
   252     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
   245   }
   253   }
   246 
   254 
   247   // This machine allows unaligned memory accesses
   255   // This machine allows unaligned memory accesses
   248   if (FLAG_IS_DEFAULT(UseUnalignedAccesses)) {
   256   if (FLAG_IS_DEFAULT(UseUnalignedAccesses)) {
   249     FLAG_SET_DEFAULT(UseUnalignedAccesses, true);
   257     FLAG_SET_DEFAULT(UseUnalignedAccesses, true);