From nobody Wed Nov 24 21:23:13 2021 X-Original-To: arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2DFFB18A634F for ; Wed, 24 Nov 2021 21:23:28 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-55.consmr.mail.gq1.yahoo.com (sonic316-55.consmr.mail.gq1.yahoo.com [98.137.69.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4HzvBR0pKwz3rbt for ; Wed, 24 Nov 2021 21:23:26 +0000 (UTC) (envelope-from marklmi@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1637788999; bh=/jCO0yFG9yUwDJSPyvx1rJi28RbAh2+05yxE/HAHQbk=; h=From:Subject:Date:References:To:In-Reply-To:From:Subject:Reply-To; b=VlPf4I0yGOvYJ4DK+cDFne5B9dbfKX6b3H2wK+2avEZc3AmVStlaDsuqV9yzACqRUblh+piy0W2wOdYVea1gs2dgLEbse/WYx0bdbOJ/nEnt1QhkX+RAVvzGT8Ef06SlqARiFJwKj/uBKvqSd1k6x/Dg2uK9ZT5w512Vvg089j6DHhZtAXfFHVDHMFTukVJ8P/KDZjMbcod6LkE3Y8F42y2zbq5SFuw879ZJuLAR2ee5Pe2F29jNrF1gjkPNIy6KcYCPpTPCKsVoPNQOgVo4NawXne667WaX2/jgCfj/V5ZtRtI2Z3mldA6fSdm58gwTEyb4taInyygLMkDo+wt8qg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1637788999; bh=a599yZ4jvF5miC/+tK8HCpQdvNpRBs7BwWBKDTYa4qb=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=JCp7OZNXaG8XbgWcpZy5XSU0BBluhodxyuVMXZbVyt0A3UIus24EYQtnrTC8iSoVECOefFiIsGpPH405Q3kcXIS+oGMoTyaoqRn/94cOL/bJosQRRMRPh5NtZ+28DT7ofdKIhr/G9OJpRIMr+EKGayMh6LkBWgj4PS40IfthBtub0kNXE7j/hR5ulj9Qp0QaXyYrMLZib0GeEf11lh8dgW7hHEpkl460PQA08VArfvhTmjoD6sB3OPqWsFJnio/wAZZAzHSqppAd4XQ+vqfnrCRZAs5LCdtlHFi5bzCxC67EVubentcLRvzgKL0OCtifNAkQl/CSDbZcOOWZv2Tg+A== X-YMail-OSG: FKdAVDIVM1m3iPdtdg4J40eTswR2ixQoh_JzjGBnkhN3QvNfjpJZDCiPfljEQhO pD4WB8BHo8WbrEe_fkkEpER9YV_yWRsyqCAmWr.YQpgEGakLpuWkFeCo6KQiWyf1XJAiZMojrq34 4zJ2Dlt.BoBqy_erx8Ba7sr7fq2TQW63kwXhZKx6i5dIgZK1ZJnIyUjXZ_H1CC7zivuA7enDeGYJ U3zNwPdhRikCsyuhGw0SC30JiwNYqfNqp5QvaZTVOrt2AeDqSnqrcyb3I5a4SM7VakI_vaJOvQ49 OJdbQdU6IIIzM_FQvNqsDkR7AaxDaozRJoPsLFdsACfcAlaO9.rUF_.UYwCHbV1xmp_A58fhRh1p OVu8bB51YrvufW6ozthamBeF_pi62vQIS0I_Zyhxn5.bvCQotZzfRC0eIsd7TBlmw3Ls1whc.Urd NtqN1m6cF8Oh_3CT1RMUtdqqg0c2YO5T.YqXvEmj7fi3g4_j6y2V__IzA8dWylJ36wZd95pVIL3F nh6UCl1u4EUKmIj0VZyHIjWeq5_2Ye4ryhdbTpwbTrOuCQGdFFzbjfwOkPDDls1k6PLigrIdobiT Lqqxz65qFkQGYJPBrzaArxGbidS7LvzSP_pFaYwJ2O46R8eK6Aolqf9n66ajkIl.9gQmn9fwG.iR iTGNrAXZ5StwTE1et9GvEN0URDhFKO.jFAAPnrYEKbNl81vyLuDo_CUF7fzBCQcccq4TLrI58WvU D9HHKCvas4ZEBYNSe3urgSORFjVlpH64xFVd2S7Vd.pqLHRUINNglSxDtv.Wl9TGtg_LKecF1RaH WByhyUleYvi8r_oFRqd6x2rxmepcBHbwK9_5EiFgSXlaiwF1BRBWHlbom6ySHsJJJuCMAJGji085 MEyQxsuL6LlQvD_DYA6Bv1Kk9StLKcb8YhvnNpViydHY9UQeRitw91i3WJdGW6wMoPxQ0zTIeIwn xrFzNB5TgIv4GMDs2Y7X9Dwb6F2D6SuimONI_gfVKq7AwzlsGRkdsUTUhWkoQWSdCHKrLtKRmGJb UhJe_g1kcgdrD7szumoKlpNk8sEPXHSwjqU6f9KX5QytkCW8FFyaugIQBE3t1iEBh.y3l1eTCpQl 9xzIjwnXU69lQMwB.pRHMDop1ZFNZXsgAP1S71uAftvH63QIfI1V2SsqFgbvDUgcybPsuvzx7i7Z 0W8JMUY5sXo9mOrU30id.UOQ2.QT3Qpqujrz9vSiHJQVLoHgOQ30sw1lu6wmt.H_1WaMCIMWTkPS Q7RE.u3_LQ4m5stzTuTCa2TqJWEIq0w1vthnJ8VvKGjTOlBIDvpmyy8EvOciFTsRasVVb2dFs0XX yofc_Buw2GJqvudlT.96G3Lu7l1NPvbzbqH7qlj9LByvXhUn17QbyVhwHHfBfD8Rj8i7upJP6ZNo DFl5VkuW57vFRynoTBOfDD6KS8uAIPY8qJN74R3V3XB01gzJJrNuhtYvN3cdQRzt3LdTyAsoGjpA 7qitLoZ63s2AFvrBQKfktRRmdjSblydMmUUVs6kHTI1nNPR13t7l.KtiRtEOb3Y3lo26mtNawdot 7EEVMrC71.dOtIP02Rul.pddDDSkvniwunc4jFvOHpAaQqOVsoCxQt3aEyVdxoMdW20h5V0GO8k6 i45U8GgJVy2AhqdjXqn3SaU8bRIK2ZIJF4EwnOwgqvUV1Qt_3sRF7k56H_ZjGAFVCFFn9GAwC98m vI8CAwKc06tkM_4aWSed5VOtsoJCofA6.3cDTsFbestYOkMBy.dwb25LAaxxwPmNlFNw14sMCidq s1kD15Vqx94YZ3nf4QpLElYk.rgQJoNRiHsot8bvH_tfs5znqsxOHWK8Km8B.SXG217mXloQa_WP lezJdnB4ICDcir1deoXDDziFoqwfKSWa.koQ.IVwZeem6OpTMswsxP26ewRyuf9VfsTHm86ISAYy AHE1UbxK8k84LuJOSvt.ngPQpskZWCLu7nK79YHp8ePjLNfNTb4hlbRQt67GSM40oN53r4xK49Du b9L_wC3CAf4irUk23q_sxKRDr8OKDzXa1O_Rq.YIWWUFYIDy2Ywr_38Y4_avv9BBk7JXultNXdvp RVyd60cGUZcQpaEUOt63wXoAWWLl7NujtXvtoCTlgQ7G7OPf2pzoOx_zcV2iDuJhU1Prvm0nM_aH XXHByd.xC4kmJQs6F0HZ0GQ2AchsBYF3rQ91hWoUru5FGz51TehxZMVrMKGLpmnGu.KY3ImKm_yG IkFLpUF42zr2eK8QdhVWeLXI3S.2yvVOZPbtlmsy7AEe3 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Wed, 24 Nov 2021 21:23:19 +0000 Received: by kubenode545.mail-prod1.omega.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 69fd08a8df7afc8c6c2e6f66af9ca4ba; Wed, 24 Nov 2021 21:23:14 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: git: 32a2fed6e71f - stable/13 - openssl: Fix detection of ARMv7 and ARM64 CPU features Date: Wed, 24 Nov 2021 13:23:13 -0800 References: <0CEA37B8-CE7F-4BAE-92B7-E71C5FD1BC22@yahoo.com> To: allanjude@freebsd.org, "freebsd-arm@freebsd.org" In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Rspamd-Queue-Id: 4HzvBR0pKwz3rbt X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=VlPf4I0y; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.31 as permitted sender) smtp.mailfrom=marklmi@yahoo.com X-Spamd-Result: default: False [-0.33 / 15.00]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.31:from]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(0.25)[0.247]; NEURAL_SPAM_SHORT(0.92)[0.925]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.31:from]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_COUNT_TWO(0.00)[2]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] Reply-To: marklmi@yahoo.com From: Mark Millard via arm X-Original-From: Mark Millard X-ThisMailContainsUnwantedMimeParts: N On 2021-Nov-24, at 13:19, Mark Millard wrote: > On 2021-Nov-24, at 01:51, Mark Millard wrote: >=20 >> [Actually, the main [so: 14] equivalent.] >>=20 >> All Cortex-A72 based . . . >>=20 >> First, older system versions (before that update) >> then after the update: >>=20 >>=20 >> RPi4B 8 GiByte (older FreeBSD first, otherwise new), >> Cortex-A72's: >>=20 >> # openssl speed -evp aes-256-gcm >> . . . >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 51925.92k 58449.46k 60430.32k 61050.13k = 61180.98k 61482.75k >>=20 >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 28880.07k 30837.33k 31630.29k 31855.62k = 31921.54k 32034.53k >>=20 >> So: slowed down, unlike the other examples below. >>=20 >> # env OPENSSL_armcap=3D0 openssl speed -evp aes-256-gcm >> . . . >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 51894.33k 58540.45k 60815.22k 61534.47k = 61906.84k 62042.10k >>=20 >> So: back to the prior speed. >>=20 >> But all these are based on config.txt containing: >>=20 >> over_voltage=3D6=20 >> arm_freq=3D2000=20 >> sdram_freq_min=3D3200=20 >> force_turbo=3D1 >>=20 >> (The RPi4B has a heat-sink and a fan.) >>=20 >> Note: See later about the RPi4B CPU features. >>=20 >>=20 >> MACCHIATObin Double Shot (older first), Cortex-A72's: >>=20 >> # openssl speed -evp aes-256-gcm >> . . . >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 50808.49k 58466.08k 60769.11k 61444.92k = 61767.94k 61707.61k >>=20 >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 163579.14k 456319.27k 786544.01k 940234.41k = 1003230.55k 1005671.31k >>=20 >>=20 >> HoneyComb (older first), Cortex-A782's: >>=20 >> # openssl speed -evp aes-256-gcm >> . . . >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 57659.60k 64599.05k 67719.81k 68373.74k = 68724.24k 68793.80k >>=20 >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 177925.57k 502311.65k 866287.95k 1036500.35k = 1106598.06k 1106721.91k >>=20 >> Rock64 (older first), Cortex-A53's: >>=20 >> # openssl speed -evp aes-256-gcm >> . . . >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 18378.23k 23401.45k 24834.99k 25206.10k = 25337.86k 25258.19k >>=20 >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 52711.29k 163586.49k 318738.69k 420277.93k = 461373.44k 463192.06k >>=20 >>=20 >> OPi+2E (older first), Cortex-A7's (so armv7): >>=20 >> # openssl speed -evp aes-256-gcm >> . . . >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 9343.10k 11156.39k 11827.64k 11995.30k = 12025.86k 12031.32k >>=20 >> type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes >> aes-256-gcm 11013.41k 13598.44k 14034.26k 15045.97k = 15262.90k 15302.66k >>=20 >>=20 >>=20 >> For reference: >>=20 >> For the RPi4B examples (2 notes added): >>=20 >> CPU 0: ARM Cortex-A72 r0p3 affinity: 0 >> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG> >> Instruction Set Attributes 0 =3D >> *** NOTE the lack of ",SHA2,SHA1,AES+PMULL" above *** >> Instruction Set Attributes 1 =3D <> >> Processor Features 0 =3D >> Processor Features 1 =3D <> >> Memory Model Features 0 =3D >> Memory Model Features 1 =3D <8bit VMID> >> Memory Model Features 2 =3D <32bit CCIDX,48bit VA> >> Debug Features 0 =3D >> Debug Features 1 =3D <> >> Auxiliary Features 0 =3D <> >> Auxiliary Features 1 =3D <> >> AArch32 Instruction Set Attributes 5 =3D >> *** NOTE the lack of ",SHA2,SHA1,AES+VMULL" above *** >> AArch32 Media and VFP Features 0 =3D >> AArch32 Media and VFP Features 1 =3D >>=20 >> For the MACCHIATObin Double Shot examples: >>=20 >> CPU 0: ARM Cortex-A72 r0p1 affinity: 0 0 >> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG> >> Instruction Set Attributes 0 =3D >> Instruction Set Attributes 1 =3D <> >> Processor Features 0 =3D >> Processor Features 1 =3D <> >> Memory Model Features 0 =3D >> Memory Model Features 1 =3D <8bit VMID> >> Memory Model Features 2 =3D <32bit CCIDX,48bit VA> >> Debug Features 0 =3D >> Debug Features 1 =3D <> >> Auxiliary Features 0 =3D <> >> Auxiliary Features 1 =3D <> >> AArch32 Instruction Set Attributes 5 =3D = >> AArch32 Media and VFP Features 0 =3D >> AArch32 Media and VFP Features 1 =3D >>=20 >>=20 >> For the HoneyComb examples: >>=20 >> CPU 0: ARM Cortex-A72 r0p3 affinity: 0 0 >> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG> >> Instruction Set Attributes 0 =3D >> Instruction Set Attributes 1 =3D <> >> Processor Features 0 =3D >> Processor Features 1 =3D <> >> Memory Model Features 0 =3D >> Memory Model Features 1 =3D <8bit VMID> >> Memory Model Features 2 =3D <32bit CCIDX,48bit VA> >> Debug Features 0 =3D >> Debug Features 1 =3D <> >> Auxiliary Features 0 =3D <> >> Auxiliary Features 1 =3D <> >> AArch32 Instruction Set Attributes 5 =3D = >> AArch32 Media and VFP Features 0 =3D >> AArch32 Media and VFP Features 1 =3D >>=20 >>=20 >>=20 >>=20 >> For the Rock64 examples: >>=20 >> CPU 0: ARM Cortex-A53 r0p4 affinity: 0 >> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG> >> Instruction Set Attributes 0 =3D >> Instruction Set Attributes 1 =3D <> >> Processor Features 0 =3D >> Processor Features 1 =3D <> >> Memory Model Features 0 =3D >> Memory Model Features 1 =3D <8bit VMID> >> Memory Model Features 2 =3D <32bit CCIDX,48bit VA> >> Debug Features 0 =3D >> Debug Features 1 =3D <> >> Auxiliary Features 0 =3D <> >> Auxiliary Features 1 =3D <> >> AArch32 Instruction Set Attributes 5 =3D = >> AArch32 Media and VFP Features 0 =3D >> AArch32 Media and VFP Features 1 =3D >> C >>=20 >>=20 >> For the OPi+2E examples: >>=20 >> CPU: ARM Cortex-A7 r0p5 (ECO: 0x00000000) >> CPU Features:=20 >> Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, = VMSAv7, >> PXN, LPAE, Coherent Walk >> Optional instructions:=20 >> SDIV/UDIV, UMULL, SMULL, SIMD(ext) >> LoUU:2 LoC:3 LoUIS:2=20 >> Cache level 1: >> 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc >> 32KB/32B 2-way instruction cache Read-Alloc >> Cache level 2: >> 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc >=20 > Note: as the issue applies to stable/13 and main [so: 14] > (for example), I continue to use the freebsd-arm list > instead of a list that reports commits to stable/* but > not to main. >=20 > Relative to: >=20 > #define HWCAP_FP 0x00000001 > #define HWCAP_ASIMD 0x00000002 > #define HWCAP_EVTSTRM 0x00000004 > #define HWCAP_AES 0x00000008 > #define HWCAP_PMULL 0x00000010 > #define HWCAP_SHA1 0x00000020 > #define HWCAP_SHA2 0x00000040 > #define HWCAP_CRC32 0x00000080 >=20 > The single-bit enabled OPENSSL_armcap that gets the slow > result is: >=20 > # env OPENSSL_armcap=3D1 openssl speed -evp aes-256-gcm > . . . > type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes > aes-256-gcm 28427.04k 30712.32k 31446.00k 31683.40k = 31829.10k 31839.55k >=20 > The illegal instruction ones for aes-256-gcm were: >=20 > # env OPENSSL_armcap=3D4 openssl speed -evp aes-256-gcm > Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction (core = dumped) >=20 > env OPENSSL_armcap=3D32 openssl speed -evp aes-256-gcm > Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction (core = dumped) >=20 > (sha256 does not match for what is illegal.) >=20 > Ignoring the illegal-instruction producing bits, HWCAP_FP mixed > with any one of the other bits was also similarly slow. >=20 > As for all the non-illegal-instruction producing bits: also similarly > slow: >=20 > # env OPENSSL_armcap=3D219 openssl speed -evp aes-256-gcm > . . . > type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes > aes-256-gcm 28922.63k 30711.51k 31522.15k 31722.15k = 31788.97k 31845.03k >=20 > Disabling just HWCAP_FP from that got the fast category of > result: >=20 > # env OPENSSL_armcap=3D218 openssl speed -evp aes-256-gcm > . . . > type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes > aes-256-gcm 49543.14k 58068.22k 60236.56k 60724.37k = 61216.09k 61212.99k >=20 >=20 > As for sha256 . . . >=20 > # env OPENSSL_armcap=3D0 openssl speed -evp sha256 > . . . > type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes > sha256 22434.19k 59895.91k 117258.16k 156264.31k = 172624.81k 173848.52k >=20 > (I'll not list all the similar performing ones but > will list all illegal-instruction producing ones.) >=20 > # env OPENSSL_armcap=3D4 openssl speed -evp sha256 > Doing sha256 for 3s on 16 size blocks: 4082055 sha256's in 2.99s > Doing sha256 for 3s on 64 size blocks: 2752520 sha256's in 3.02s > Doing sha256 for 3s on 256 size blocks: 1372584 sha256's in 3.03s > Doing sha256 for 3s on 1024 size blocks: 470215 sha256's in 3.11s > Doing sha256 for 3s on 8192 size blocks: 64700 sha256's in 3.07s > Doing sha256 for 3s on 16384 size blocks: 31847 sha256's in 3.00s > Illegal instruction (core dumped) >=20 > # env OPENSSL_armcap=3D16 openssl speed -evp sha256 > Doing sha256 for 3s on 16 size blocks: Illegal instruction (core = dumped) >=20 > (16 worked for aes-256-gcm but 32 did not.) >=20 > So: no significantly slower examples of single enabled > bit cases. >=20 > No (non-illegal-instruction) 2-enabled-bits examples were > dissimilar for the speed. Incorrect description of what I tested: I testd only 2-bit combinations involving HWCAP_FP being enabled. (Same as for aes-256-gcm .) > For reference (avoiding illegal-instructions): >=20 > # env OPENSSL_armcap=3D235 openssl speed -evp sha256 > . . . > type 16 bytes 64 bytes 256 bytes 1024 bytes = 8192 bytes 16384 bytes > sha256 23185.66k 62689.73k 125814.72k 167981.88k = 187833.65k 188968.95k >=20 > So: also similar speed. >=20 > Need any other specific bit combinations? =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)