On 2019/8/12 11:21, Stephen Rothwell wrote:
> Hi all,
>
> After merging the crypto tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/crypto/hisilicon/qm.c: Assembler messages:
> drivers/crypto/hisilicon/qm.c:334: Error: no such instruction: `ldp
> %rdx,%rcx,%bl
Hi all,
After merging the crypto tree, today's linux-next build (x86_64
allmodconfig) failed like this:
drivers/crypto/hisilicon/qm.c: Assembler messages:
drivers/crypto/hisilicon/qm.c:334: Error: no such instruction: `ldp
%rdx,%rcx,%bl'
drivers/crypto/hisilicon/qm.c:335: Error: no such instruct
This series resubmits the aegis128 SIMD patches that were reverted due to
the fact that the compiler's optimization behavior wrt variables with static
linkage does not turn out to guarantee that function calls that are
conditional on the value of such a variable are optimized away if the value
is a
Add some plumbing to allow the AEGIS128 code to be built with SIMD
routines for acceleration.
Reviewed-by: Ondrej Mosnacek
Signed-off-by: Ard Biesheuvel
Signed-off-by: Herbert Xu
---
crypto/Makefile| 1 +
crypto/{aegis128.c => aegis128-core.c} | 52 ++--
Provide an accelerated implementation of aegis128 by wiring up the
SIMD hooks in the generic driver to an implementation based on NEON
intrinsics, which can be compiled to both ARM and arm64 code.
This results in a performance of 2.2 cycles per byte on Cortex-A53,
which is a performance increase o
Provide a version of the core AES transform to the aegis128 SIMD
code that does not rely on the special AES instructions, but uses
plain NEON instructions instead. This allows the SIMD version of
the aegis128 driver to be used on arm64 systems that do not
implement those instructions (which are not