SPARC assembly pack: enforce V8+ ABI constraints.
authorAndy Polyakov <appro@openssl.org>
Thu, 30 Jun 2016 13:57:57 +0000 (15:57 +0200)
committerAndy Polyakov <appro@openssl.org>
Fri, 1 Jul 2016 12:26:21 +0000 (14:26 +0200)
commitcbffd2d9ca91dabb1cdfb181311f2a8458b4a8e8
treeffea7bf2e82cb0f58cfdc894edee57833b26a1f5
parentcb5ebf961333896776fbce10ef88c2af7bec8aea
SPARC assembly pack: enforce V8+ ABI constraints.

Even though it's hard to imagine, it turned out that upper half of
arguments passed to V8+ subroutine can be non-zero.

["n" pseudo-instructions, such as srln being srl in 32-bit case and
srlx in 64-bit one, were implemented in binutils 2.10. It's assumed
that Solaris assembler implemented it around same time, i.e. 2000.]

Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit f198cc43a0eca4bf1a8e7f60c51af560f4346dc8)
crypto/des/asm/dest4-sparcv9.pl
crypto/modes/asm/ghash-sparcv9.pl
crypto/perlasm/sparcv9_modes.pl