diff options
Diffstat (limited to 'arch/x86/crypto/serpent-sse2-x86_64-asm_64.S')
-rw-r--r-- | arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/arch/x86/crypto/serpent-sse2-x86_64-asm_64.S b/arch/x86/crypto/serpent-sse2-x86_64-asm_64.S index 7f24a1540821..3ee1ff04d3e9 100644 --- a/arch/x86/crypto/serpent-sse2-x86_64-asm_64.S +++ b/arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | |||
@@ -585,23 +585,20 @@ | |||
585 | get_key(i, 1, RK1); \ | 585 | get_key(i, 1, RK1); \ |
586 | SBOX ## _2(x0 ## 2, x1 ## 2, x2 ## 2, x3 ## 2, x4 ## 2); \ | 586 | SBOX ## _2(x0 ## 2, x1 ## 2, x2 ## 2, x3 ## 2, x4 ## 2); \ |
587 | 587 | ||
588 | #define transpose_4x4(x0, x1, x2, x3, t1, t2, t3) \ | 588 | #define transpose_4x4(x0, x1, x2, x3, t0, t1, t2) \ |
589 | movdqa x2, t3; \ | ||
590 | movdqa x0, t1; \ | ||
591 | unpcklps x3, t3; \ | ||
592 | movdqa x0, t2; \ | 589 | movdqa x0, t2; \ |
593 | unpcklps x1, t1; \ | 590 | punpckldq x1, x0; \ |
594 | unpckhps x1, t2; \ | 591 | punpckhdq x1, t2; \ |
595 | movdqa t3, x1; \ | 592 | movdqa x2, t1; \ |
596 | unpckhps x3, x2; \ | 593 | punpckhdq x3, x2; \ |
597 | movdqa t1, x0; \ | 594 | punpckldq x3, t1; \ |
598 | movhlps t1, x1; \ | 595 | movdqa x0, x1; \ |
599 | movdqa t2, t1; \ | 596 | punpcklqdq t1, x0; \ |
600 | movlhps t3, x0; \ | 597 | punpckhqdq t1, x1; \ |
601 | movlhps x2, t1; \ | 598 | movdqa t2, x3; \ |
602 | movhlps t2, x2; \ | 599 | punpcklqdq x2, t2; \ |
603 | movdqa x2, x3; \ | 600 | punpckhqdq x2, x3; \ |
604 | movdqa t1, x2; | 601 | movdqa t2, x2; |
605 | 602 | ||
606 | #define read_blocks(in, x0, x1, x2, x3, t0, t1, t2) \ | 603 | #define read_blocks(in, x0, x1, x2, x3, t0, t1, t2) \ |
607 | movdqu (0*4*4)(in), x0; \ | 604 | movdqu (0*4*4)(in), x0; \ |