diff options
author | Niels Möller <nisse@lysator.liu.se> | 2015-01-13 10:01:04 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2015-01-13 10:01:04 +0100 |
commit | 23b9cf2215b990314291edcad8c539cae6bfff54 (patch) | |
tree | 613cf181f8128d9f82af1093b67d5a1ddee7e45e /x86_64 | |
parent | 2185ed0d8d707b310fc289fb4ce263157480b615 (diff) | |
download | nettle-23b9cf2215b990314291edcad8c539cae6bfff54.tar.gz |
Use explicit .byte sequences when assembling aes instructions.
Diffstat (limited to 'x86_64')
-rw-r--r-- | x86_64/aesni/aes-decrypt-internal.asm | 10 | ||||
-rw-r--r-- | x86_64/aesni/aes-encrypt-internal.asm | 10 |
2 files changed, 14 insertions, 6 deletions
diff --git a/x86_64/aesni/aes-decrypt-internal.asm b/x86_64/aesni/aes-decrypt-internal.asm index 1dfbcb4c..412e8d31 100644 --- a/x86_64/aesni/aes-decrypt-internal.asm +++ b/x86_64/aesni/aes-decrypt-internal.asm @@ -44,7 +44,11 @@ define(<CNT>, <%rdx>) C Subkey pointer define(<KEY>, <%rax>) - .arch bdver2 +dnl aesdec %xmm1, %xmm0 +define(<AESDEC>, <.byte 0x66, 0x0f, 0x38, 0xde, 0xc1>) +dnl aesdeclast %xmm1, %xmm0 +define(<AESDECLAST>, <.byte 0x66, 0x0f, 0x38, 0xdf, 0xc1>) + .file "aes-decrypt-internal.asm" C _aes_decrypt(unsigned rounds, const uint32_t *keys, @@ -77,12 +81,12 @@ PROLOGUE(_nettle_aes_decrypt) add $16, KEY movups (KEY), %xmm1 - aesdec %xmm1, %xmm0 + AESDEC C %xmm1, %xmm0 decl XREG(CNT) jnz .Lround_loop movups 16(KEY), %xmm1 - aesdeclast %xmm1, %xmm0 + AESDECLAST C %xmm1, %xmm0 movups %xmm0, (DST) add $16, SRC diff --git a/x86_64/aesni/aes-encrypt-internal.asm b/x86_64/aesni/aes-encrypt-internal.asm index ee925fe5..07f17b25 100644 --- a/x86_64/aesni/aes-encrypt-internal.asm +++ b/x86_64/aesni/aes-encrypt-internal.asm @@ -44,7 +44,11 @@ define(<CNT>, <%rdx>) C Subkey pointer define(<KEY>, <%rax>) - .arch bdver2 +dnl aesenc %xmm1, %xmm0 +define(<AESENC>, <.byte 0x66, 0x0f, 0x38, 0xdc, 0xc1>) +dnl aesenclast %xmm1, %xmm0 +define(<AESENCLAST>, <.byte 0x66, 0x0f, 0x38, 0xdd, 0xc1>) + .file "aes-encrypt-internal.asm" C _aes_encrypt(unsigned rounds, const uint32_t *keys, @@ -77,12 +81,12 @@ PROLOGUE(_nettle_aes_encrypt) add $16, KEY movups (KEY), %xmm1 - aesenc %xmm1, %xmm0 + AESENC C %xmm1, %xmm0 decl XREG(CNT) jnz .Lround_loop movups 16(KEY), %xmm1 - aesenclast %xmm1, %xmm0 + AESENCLAST C %xmm1, %xmm0 movups %xmm0, (DST) add $16, SRC |