crypto: x86/chacha20 - Avoid spurious jumps to other functions
The chacha_Nblock_xor_avx512vl() functions all have their own,
identical, .LdoneN label, however in one particular spot {2,4} jump to
the 8 version instead of their own. Resulting in:
arch/x86/crypto/chacha-x86_64.o: warning: objtool: chacha_2block_xor_avx512vl() falls through to next function chacha_8block_xor_avx512vl()
arch/x86/crypto/chacha-x86_64.o: warning: objtool: chacha_4block_xor_avx512vl() falls through to next function chacha_8block_xor_avx512vl()
Make each function consistently use its own done label.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Martin Willi <martin@strongswan.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
pull/549/merge
parent
e9a36feece
commit
4327d16851
|
|
@ -172,7 +172,7 @@ SYM_FUNC_START(chacha_2block_xor_avx512vl)
|
||||||
# xor remaining bytes from partial register into output
|
# xor remaining bytes from partial register into output
|
||||||
mov %rcx,%rax
|
mov %rcx,%rax
|
||||||
and $0xf,%rcx
|
and $0xf,%rcx
|
||||||
jz .Ldone8
|
jz .Ldone2
|
||||||
mov %rax,%r9
|
mov %rax,%r9
|
||||||
and $~0xf,%r9
|
and $~0xf,%r9
|
||||||
|
|
||||||
|
|
@ -438,7 +438,7 @@ SYM_FUNC_START(chacha_4block_xor_avx512vl)
|
||||||
# xor remaining bytes from partial register into output
|
# xor remaining bytes from partial register into output
|
||||||
mov %rcx,%rax
|
mov %rcx,%rax
|
||||||
and $0xf,%rcx
|
and $0xf,%rcx
|
||||||
jz .Ldone8
|
jz .Ldone4
|
||||||
mov %rax,%r9
|
mov %rax,%r9
|
||||||
and $~0xf,%r9
|
and $~0xf,%r9
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue