boringssl/crypto/fipsmodule/ec
David Benjamin 78f5e75739 Enable AVX2 and ADX in p256-x86_64-asm.pl.
We can test these with Intel SDE now. The AVX2 code just affects the two
select functions while the ADX code is a separate implementation.

Haswell numbers:

Before:
Did 84630 ECDH P-256 operations in 10031494us (8436.4 ops/sec)
Did 206000 ECDSA P-256 signing operations in 10015055us (20569.0 ops/sec)
Did 77256 ECDSA P-256 verify operations in 10064556us (7676.0 ops/sec)

After:
Did 86112 ECDH P-256 operations in 10015008us (8598.3 ops/sec)
Did 211000 ECDSA P-256 signing operations in 10025104us (21047.2 ops/sec)
Did 79344 ECDSA P-256 verify operations in 10017076us (7920.9 ops/sec)

Skylake numbers:

Before:
Did 75684 ECDH P-256 operations in 10016019us (7556.3 ops/sec)
Did 185000 ECDSA P-256 signing operations in 10012090us (18477.7 ops/sec)
Did 72885 ECDSA P-256 verify operations in 10027154us (7268.8 ops/sec)

After:
Did 89598 ECDH P-256 operations in 10032162us (8931.1 ops/sec)
Did 203000 ECDSA P-256 signing operations in 10019739us (20260.0 ops/sec)
Did 87040 ECDSA P-256 verify operations in 10000441us (8703.6 ops/sec)

The code was slightly patched for delocate.go compatibility.

Change-Id: Ic44ced4eca65c656bbe07d5a7fee91ec6925eb59
Reviewed-on: https://boringssl-review.googlesource.com/18967
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2017-08-14 19:51:48 +00:00
..
asm Enable AVX2 and ADX in p256-x86_64-asm.pl. 2017-08-14 19:51:48 +00:00
ec_key.c Don't draw entropy during FIPS power-on tests. 2017-06-13 20:27:48 +00:00
ec_montgomery.c Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
ec_test.cc Convert example_mul to GTest. 2017-07-10 19:28:29 +00:00
ec.c Remove some unnecessary indirections. 2017-06-21 21:29:38 +00:00
internal.h Remove some unnecessary indirections. 2017-06-21 21:29:38 +00:00
oct.c Tidy up FIPS module dependencies. 2017-05-05 23:10:24 +00:00
p224-64.c Switch some pointer casts to memcpy. 2017-07-11 02:02:41 +00:00
p256-64.c Switch some pointer casts to memcpy. 2017-07-11 02:02:41 +00:00
p256-x86_64_test.cc Align the tables in P-256 select w[57] tests. 2017-08-09 01:04:57 +00:00
p256-x86_64_tests.txt Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
p256-x86_64-table.h Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
p256-x86_64.c Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
p256-x86_64.h Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
simple.c Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
util-64.c Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
wnaf.c Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00