--- arch/x86/crypto/aes-x86_64-asm_64.S | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/arch/x86/crypto/aes-x86_64-asm_64.S +++ b/arch/x86/crypto/aes-x86_64-asm_64.S @@ -98,9 +98,8 @@ FUNC: subq $24, R16; \ movl TAB(,r6,4),r6 ## E; \ movzbl r4 ## H,r7 ## E; \ movzbl r4 ## L,r4 ## E; \ + movq OFFSET(r8),R12; \ shrl $16,r2 ## E; \ - xorl OFFSET(r8),ra ## E; \ - xorl OFFSET+4(r8),rb ## E; \ movq r3,R9; \ xorl TAB+3072(,r7,4),r5 ## E;\ xorl TAB+2048(,r4,4),r6 ## E;\ @@ -116,7 +115,9 @@ FUNC: subq $24, R16; \ xorl TAB+2048(,r3,4),r5 ## E;\ movzbl r1 ## H,r7 ## E; \ movzbl r1 ## L,r3 ## E; \ + xorq R12,ra; \ movq R9,r1; \ + shrq $32,R12; \ xorl TAB+3072(,r7,4),r6 ## E;\ movl TAB+2048(,r3,4),r3 ## E;\ movzbl r1 ## H,r7 ## E; \ @@ -126,6 +127,7 @@ FUNC: subq $24, R16; \ movzbl r2 ## H,r1 ## E; \ movzbl r2 ## L,r7 ## E; \ movq R8,r2; \ + xorq R12,rb; \ xorl TAB+3072(,r1,4),r3 ## E;\ xorl TAB+2048(,r7,4),r4 ## E;\ movzbl r2 ## H,r1 ## E; \