boringssl/crypto
Adam Langley 04c36b5062 Never set RC4_CHAR.
RC4_CHAR is a bit in the x86(-64) CPUID information that switches the
RC4 asm code from using an array of 256 uint32_t's to 256 uint8_t's. It
was originally written for the P4, where the uint8_t style was faster.

(On modern chips, setting RC4_CHAR took RC4-MD5 from 458 to 304 MB/s.
Although I wonder whether, on a server with many connections, using less
cache wouldn't be better.)

However, I'm not too worried about a slowdown of RC4 on P4 systems these
days (the last new P4 chip was released nine years ago) and I want the
code to be simplier.

Also, RC4_CHAR was set when the CPUID family was 15, but Intel actually
lists 15 as a special code meaning "also check the extended family
bits", which the asm didn't do.

The RC4_CHAR support remains in the RC4 asm code to avoid drift with
upstream.

Change-Id: If3febc925a83a76f453b9e9f8de5ee43759927c6
Reviewed-on: https://boringssl-review.googlesource.com/3550
Reviewed-by: David Benjamin <davidben@chromium.org>
Reviewed-by: Adam Langley <agl@google.com>
2015-02-20 23:59:59 +00:00
..
aes Hide all asm symbols. 2015-02-20 21:24:01 +00:00
asn1 Fix more memory leaks on malloc failure. 2015-02-13 18:43:01 +00:00
base64 Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
bio Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
bn Hide all asm symbols. 2015-02-20 21:24:01 +00:00
buf Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
bytestring Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
chacha Switch nonce type in chacha_vec.c to uint32_t. 2015-02-13 13:16:59 -08:00
cipher Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
conf Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
des Change CMakeLists.txt to two-space indent. 2015-01-28 16:37:10 -08:00
dh Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
digest Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
dsa Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
ec Add the CTX parameter back to EC_GROUP_cmp. 2015-02-20 23:33:55 +00:00
ecdh Add in missing curly braces part 2. 2015-02-11 23:14:04 +00:00
ecdsa Add in missing curly braces part 2. 2015-02-11 23:14:04 +00:00
engine Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
err Reset all the error codes. 2015-02-11 23:12:08 +00:00
evp Add the CTX parameter back to EC_GROUP_cmp. 2015-02-20 23:33:55 +00:00
hkdf Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
hmac Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
lhash Remove more bits of ERR_STRING_DATA. 2015-02-10 02:10:46 +00:00
md4 Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
md5 Hide all asm symbols. 2015-02-20 21:24:01 +00:00
modes Hide all asm symbols. 2015-02-20 21:24:01 +00:00
obj Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
pem Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
perlasm perlasm/x86_64-xlate.pl: handle inter-bank movd. 2014-11-10 13:45:32 -08:00
pkcs8 Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
poly1305 Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
rand Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
rc4 Tidy up RC4 a little. 2015-02-20 23:44:33 +00:00
rsa Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
sha Hide all asm symbols. 2015-02-20 21:24:01 +00:00
stack Add sk_deep_copy and its macro. 2015-02-13 10:59:10 -08:00
x509 Remove X509_get_pubkey_parameters. 2015-02-17 23:15:47 +00:00
x509v3 Remove support for zero lengths from do_x509_check. 2015-02-13 11:00:48 -08:00
arm_arch.h aarch64 support. 2015-01-14 23:38:11 +00:00
CMakeLists.txt Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
constant_time_test.c Update constant-time operations. 2014-11-10 13:48:30 -08:00
cpu-arm-asm.S Don't probe for NEON with SIGILL on aarch64. 2015-02-03 19:56:25 +00:00
cpu-arm.c Don't probe for NEON with SIGILL on aarch64. 2015-02-03 19:56:25 +00:00
cpu-intel.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
cpu-x86_64-asm.pl Never set RC4_CHAR. 2015-02-20 23:59:59 +00:00
cpu-x86-asm.pl Never set RC4_CHAR. 2015-02-20 23:59:59 +00:00
crypto_error.h Add ISC header to a handful of files. 2014-06-26 10:26:42 -07:00
crypto.c aarch64 support. 2015-01-14 23:38:11 +00:00
directory_posix.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
directory_win.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
directory.h Add visibility rules. 2014-07-31 22:03:11 +00:00
ex_data_impl.c Free more memory in cleanup functions. 2015-01-13 00:04:35 +00:00
ex_data.c Don't compare signed vs. unsigned. 2014-10-01 02:17:38 +00:00
header_removed.h Add ISC header to a handful of files. 2014-06-26 10:26:42 -07:00
internal.h aarch64 support. 2015-01-14 23:38:11 +00:00
mem.c Enable more warnings & treat warnings as errors on Windows. 2015-01-31 00:18:55 +00:00
thread.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
time_support.c Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00