320 }
321
322 if (UseSHA && has_vshasig()) {
323 if (FLAG_IS_DEFAULT(UseSHA256Intrinsics)) {
324 FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
325 }
326 } else if (UseSHA256Intrinsics) {
327 warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
328 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
329 }
330
331 if (UseSHA && has_vshasig()) {
332 if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
333 FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
334 }
335 } else if (UseSHA512Intrinsics) {
336 warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
337 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
338 }
339
340 if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
341 FLAG_SET_DEFAULT(UseSHA, false);
342 }
343
344 #ifdef COMPILER2
345 if (FLAG_IS_DEFAULT(UseSquareToLenIntrinsic)) {
346 UseSquareToLenIntrinsic = true;
347 }
348 if (FLAG_IS_DEFAULT(UseMulAddIntrinsic)) {
349 UseMulAddIntrinsic = true;
350 }
351 if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
352 UseMultiplyToLenIntrinsic = true;
353 }
354 if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
355 UseMontgomeryMultiplyIntrinsic = true;
356 }
357 if (FLAG_IS_DEFAULT(UseMontgomerySquareIntrinsic)) {
358 UseMontgomerySquareIntrinsic = true;
359 }
|
320 }
321
322 if (UseSHA && has_vshasig()) {
323 if (FLAG_IS_DEFAULT(UseSHA256Intrinsics)) {
324 FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
325 }
326 } else if (UseSHA256Intrinsics) {
327 warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
328 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
329 }
330
331 if (UseSHA && has_vshasig()) {
332 if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
333 FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
334 }
335 } else if (UseSHA512Intrinsics) {
336 warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
337 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
338 }
339
340 if (UseSHA3Intrinsics) {
341 warning("Intrinsics for SHA3-224, SHA3-256, SHA3-384 and SHA3-512 crypto hash functions not available on this CPU.");
342 FLAG_SET_DEFAULT(UseSHA3Intrinsics, false);
343 }
344
345 if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
346 FLAG_SET_DEFAULT(UseSHA, false);
347 }
348
349 #ifdef COMPILER2
350 if (FLAG_IS_DEFAULT(UseSquareToLenIntrinsic)) {
351 UseSquareToLenIntrinsic = true;
352 }
353 if (FLAG_IS_DEFAULT(UseMulAddIntrinsic)) {
354 UseMulAddIntrinsic = true;
355 }
356 if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
357 UseMultiplyToLenIntrinsic = true;
358 }
359 if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
360 UseMontgomeryMultiplyIntrinsic = true;
361 }
362 if (FLAG_IS_DEFAULT(UseMontgomerySquareIntrinsic)) {
363 UseMontgomerySquareIntrinsic = true;
364 }
|