crypto: arm/aes-neonbs - fix issue with v2.22 and older assembler
The GNU assembler for ARM version 2.22 or older fails to infer the element size from the vmov instructions, and aborts the build in the following way; .../aes-neonbs-core.S: Assembler messages: .../aes-neonbs-core.S:817: Error: bad type for scalar -- `vmov q1h[1],r10' .../aes-neonbs-core.S:817: Error: bad type for scalar -- `vmov q1h[0],r9' .../aes-neonbs-core.S:817: Error: bad type for scalar -- `vmov q1l[1],r8' .../aes-neonbs-core.S:817: Error: bad type for scalar -- `vmov q1l[0],r7' .../aes-neonbs-core.S:818: Error: bad type for scalar -- `vmov q2h[1],r10' .../aes-neonbs-core.S:818: Error: bad type for scalar -- `vmov q2h[0],r9' .../aes-neonbs-core.S:818: Error: bad type for scalar -- `vmov q2l[1],r8' .../aes-neonbs-core.S:818: Error: bad type for scalar -- `vmov q2l[0],r7' Fix this by setting the element size explicitly, by replacing vmov with vmov.32. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
76512f2d8c
Коммит
13954e788d
|
@ -766,13 +766,13 @@ ENTRY(aesbs_cbc_decrypt)
|
|||
ENDPROC(aesbs_cbc_decrypt)
|
||||
|
||||
.macro next_ctr, q
|
||||
vmov \q\()h[1], r10
|
||||
vmov.32 \q\()h[1], r10
|
||||
adds r10, r10, #1
|
||||
vmov \q\()h[0], r9
|
||||
vmov.32 \q\()h[0], r9
|
||||
adcs r9, r9, #0
|
||||
vmov \q\()l[1], r8
|
||||
vmov.32 \q\()l[1], r8
|
||||
adcs r8, r8, #0
|
||||
vmov \q\()l[0], r7
|
||||
vmov.32 \q\()l[0], r7
|
||||
adc r7, r7, #0
|
||||
vrev32.8 \q, \q
|
||||
.endm
|
||||
|
|
Загрузка…
Ссылка в новой задаче