boringssl/crypto/fipsmodule/bn/asm
David Benjamin 488ca0eace Enable ADX in x86_64-mont*.pl.
This is a reland of https://boringssl-review.googlesource.com/18965
which was reverted due to Windows toolchain problems that have since
been fixed.

We have an SDE bot now and can more easily test things. We also enabled
ADX in rsaz-avx2.pl which does not work without x86_64-mont*.pl enabled.
rsa-avx2.pl's ADX code only turns itself off so that the faster ADX code
can be used... but we disable it.

Verified, after reverting the fix, the test vectors we imported combined
with Intel SDE catches CVE-2016-7055, so we do indeed have test
coverage. Also verified on the Windows version of Intel SDE.

Thanks to Alexey Ivanov for pointing out the discrepancy.

Skylake numbers:

Before:
Did 7296 RSA 2048 signing operations in 10038191us (726.8 ops/sec)
Did 209000 RSA 2048 verify operations in 10030629us (20836.2 ops/sec)
Did 1080 RSA 4096 signing operations in 10072221us (107.2 ops/sec)
Did 60836 RSA 4096 verify operations in 10053929us (6051.0 ops/sec)

ADX consistently off:
Did 9360 RSA 2048 signing operations in 10025823us (933.6 ops/sec)
Did 220000 RSA 2048 verify operations in 10024339us (21946.6 ops/sec)
Did 1048 RSA 4096 signing operations in 10006782us (104.7 ops/sec)
Did 61936 RSA 4096 verify operations in 10088011us (6139.6 ops/sec)

After (ADX consistently on):
Did 10444 RSA 2048 signing operations in 10006781us (1043.7 ops/sec)
Did 323000 RSA 2048 verify operations in 10012192us (32260.7 ops/sec)
Did 1610 RSA 4096 signing operations in 10044930us (160.3 ops/sec)
Did 96000 RSA 4096 verify operations in 10075606us (9528.0 ops/sec)

Change-Id: I2502ce80e9cfcdea40907512682e3a6663000faa
Reviewed-on: https://boringssl-review.googlesource.com/19105
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2017-08-14 19:16:25 +00:00
..
armv4-mont.pl Sync ARM assembly up to 609b0852e4d50251857dbbac3141ba042e35a9ae. 2017-06-13 17:47:20 +00:00
armv8-mont.pl Sync ARM assembly up to 609b0852e4d50251857dbbac3141ba042e35a9ae. 2017-06-13 17:47:20 +00:00
bn-586.pl Remove filename argument to x86 asm_init. 2017-05-12 14:58:27 +00:00
co-586.pl Remove filename argument to x86 asm_init. 2017-05-12 14:58:27 +00:00
rsaz-avx2.pl Enable ADX in x86_64-mont*.pl. 2017-08-14 19:16:25 +00:00
x86_64-gcc.c
x86_64-mont5.pl Enable ADX in x86_64-mont*.pl. 2017-08-14 19:16:25 +00:00
x86_64-mont.pl Enable ADX in x86_64-mont*.pl. 2017-08-14 19:16:25 +00:00
x86-mont.pl Remove filename argument to x86 asm_init. 2017-05-12 14:58:27 +00:00