equal
deleted
inserted
replaced
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); |