X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=src%2Fconfig.h;h=71440e71688d72879c3da488c9ecf704182fa525;hp=9eadaf4a78288d3f895aa1665fcb785ca80b3062;hb=5db2d48b128326704cd33aff56c8b46e463f3bf6;hpb=5f045c759957fdff8c85716e6af99e10901fdac0 diff --git a/src/config.h b/src/config.h index 9eadaf4..71440e7 100644 --- a/src/config.h +++ b/src/config.h @@ -162,4 +162,31 @@ #define BR_AES_X86NI 1 */ +/* + * When BR_POWER8 is enabled, the AES implementation using the POWER ISA + * 2.07 opcodes (available on POWER8 processors and later) is compiled. + * If this is not enabled explicitly, then that implementation will be + * compiled only if a compatible compiler is detected, _and_ the target + * architecture is POWER8 or later. + * +#define BR_POWER8 1 + */ + +/* + * When BR_INT128 is enabled, then code using the 'unsigned __int64' + * and 'unsigned __int128' types will be used to leverage 64x64->128 + * unsigned multiplications. This should work with GCC and compatible + * compilers on 64-bit architectures. + * +#define BR_INT128 1 + */ + +/* + * When BR_UMUL128 is enabled, then code using the '_umul128()' and + * '_addcarry_u64()' intrinsics will be used to implement 64x64->128 + * unsigned multiplications. This should work on Visual C on x64 systems. + * +#define BR_UMUL128 1 + */ + #endif