chacha/asm/chacha-x86.pl: improve [backward] portability.
authorAndy Polyakov <appro@openssl.org>
Tue, 8 Nov 2016 10:11:58 +0000 (11:11 +0100)
committerAndy Polyakov <appro@openssl.org>
Fri, 11 Nov 2016 12:27:53 +0000 (13:27 +0100)
commitd89773d659129368a341df746476da445d47ad31
tree2b1271367a014ddb6855a4f557705adddaea5b16
parentcebb186989067b39fca6ebc378e4957408f6e701
chacha/asm/chacha-x86.pl: improve [backward] portability.

In order to minimize dependency on assembler version a number of
post-SSE2 instructions are encoded manually. But in order to simplify
the procedure only register operands are considered. Non-register
operands are passed down to assembler. Module in question uses pshufb
with memory operands, and old [GNU] assembler can't handle it.
Fortunately in this case it's possible skip just the problematic
segment without skipping SSSE3 support altogether.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/chacha/asm/chacha-x86.pl