aboutsummaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2016-02-22 17:39:00 +0100
committerAndy Polyakov <appro@openssl.org>2016-02-23 21:14:25 +0100
commit14577312211e25024ffd90bbded44b021877fc59 (patch)
tree6b2b78ccad5a1b0bbcf17f7aa66cb75f8d69f84a /crypto
parent78c830785ca0f422502db9b201127ef1d9fe3966 (diff)
downloadopenssl-14577312211e25024ffd90bbded44b021877fc59.zip
openssl-14577312211e25024ffd90bbded44b021877fc59.tar.gz
openssl-14577312211e25024ffd90bbded44b021877fc59.tar.bz2
poly1305/asm/poly1305-armv4.pl: replace ambiguous instruction.
Different assembler versions disagree on how to interpret #-1 as argument to vmov.i64, as 0xffffffffffffffff or 0x00000000ffffffff. So replace it with something they can't disagree on. Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto')
-rwxr-xr-xcrypto/poly1305/asm/poly1305-armv4.pl4
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/poly1305/asm/poly1305-armv4.pl b/crypto/poly1305/asm/poly1305-armv4.pl
index 2cce9df..65b79cf 100755
--- a/crypto/poly1305/asm/poly1305-armv4.pl
+++ b/crypto/poly1305/asm/poly1305-armv4.pl
@@ -1004,7 +1004,7 @@ poly1305_blocks_neon:
vmlal.u32 $D2,$H4#hi,$S3
vmlal.u32 $D3,$H4#hi,$S4
- vmov.u64 $MASK,#-1 @ can be redundant
+ vorn $MASK,$MASK,$MASK @ all-ones, can be redundant
vmlal.u32 $D0,$H1#hi,$S4
vshr.u64 $MASK,$MASK,#38
vmlal.u32 $D4,$H0#hi,$R4
@@ -1048,7 +1048,7 @@ poly1305_blocks_neon:
vmlal.u32 $D2,$H4#lo,$S3
vmlal.u32 $D3,$H4#lo,$S4
- vmov.u64 $MASK,#-1
+ vorn $MASK,$MASK,$MASK @ all-ones
vmlal.u32 $D0,$H1#lo,$S4
vshr.u64 $MASK,$MASK,#38
vmlal.u32 $D4,$H0#lo,$R4