diff --git a/ChangeLog b/ChangeLog index c60fac411cd2730daa47e2ea9cfb73c510a4868a..1584f9fc67634b29c392b8bcfdbfc07322f4007e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * x86/aes-encrypt.asm (aes_encrypt): Use the AES_LAST_ROUND macro for the first column of the final round. + (aes_encrypt): Similarly for the second column. + (aes_encrypt): Similarly for the third and fourth column. * x86/machine.m4 (AES_LAST_ROUND): New macro. diff --git a/x86/aes-encrypt.asm b/x86/aes-encrypt.asm index e5dbf6b7f3bc78d49f16efddc305593b93904886..fddf0a167dd98570233416ad8f419c23181f7aff 100644 --- a/x86/aes-encrypt.asm +++ b/x86/aes-encrypt.asm @@ -190,35 +190,14 @@ C .Laes_got_t: AES_LAST_ROUND(d,a,b,c) pushl %edi - C c d a b - C // third column - movl %eax,%edi - andl $0x00ff0000,%edi - movl %ebx,%ebp - andl $0xff000000,%ebp - orl %ebp,%edi - movl %ecx,%ebp - andl $0x000000ff,%ebp - orl %ebp,%edi - movl %edx,%ebp - andl $0x0000ff00,%ebp - orl %ebp,%edi + C third column + AES_LAST_ROUND(c,d,a,b) pushl %edi - C // fourth column - C b c d a - movl %eax,%edi - andl $0xff000000,%edi - movl %ebx,%ebp - andl $0x000000ff,%ebp - orl %ebp,%edi - movl %ecx,%ebp - andl $0x0000ff00,%ebp - orl %ebp,%edi - movl %edx,%ebp - andl $0x00ff0000,%ebp - orl %ebp,%edi + C fourth column + AES_LAST_ROUND(b,c,d,a) movl %edi,%edx + popl %ecx popl %ebx popl %eax