X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Farm64cpuid.pl;h=06c8add7a07561f1f00b2e5edb6826881771ba83;hb=f61c68043d3bd2ad9718d356e7988ee2fdfc3621;hp=68734f5bedb4076a9bed32a144fe81cf4c77e238;hpb=77f3612e2bd930b27dcab63fdcca1d7091cb948d;p=oweals%2Fopenssl.git diff --git a/crypto/arm64cpuid.pl b/crypto/arm64cpuid.pl index 68734f5bed..06c8add7a0 100755 --- a/crypto/arm64cpuid.pl +++ b/crypto/arm64cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -115,6 +115,19 @@ OPENSSL_cleanse: CRYPTO_memcmp: eor w3,w3,w3 cbz x2,.Lno_data // len==0? + cmp x2,#16 + b.ne .Loop_cmp + ldp x8,x9,[x0] + ldp x10,x11,[x1] + eor x8,x8,x10 + eor x9,x9,x11 + orr x8,x8,x9 + mov x0,#1 + cmp x8,#0 + csel x0,xzr,x0,eq + ret + +.align 4 .Loop_cmp: ldrb w4,[x0],#1 ldrb w5,[x1],#1