Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dmitry Baryshkov
nettle
Commits
23b9cf22
Commit
23b9cf22
authored
Jan 13, 2015
by
Niels Möller
Browse files
Use explicit .byte sequences when assembling aes instructions.
parent
2185ed0d
Changes
3
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
23b9cf22
2015-01-13 Niels Möller <nisse@lysator.liu.se>
* x86_64/aesni/aes-encrypt-internal.asm: Use explicit .byte
sequences for aes instructions, don't rely on assembler support.
* x86_64/aesni/aes-decrypt-internal.asm: Likewise.
* aclocal.m4 (NETTLE_CHECK_IFUNC): New macro, checking for ifunc
and settting HAVE_LINK_IFUNC if working.
* configure.ac: Use it.
...
...
x86_64/aesni/aes-decrypt-internal.asm
View file @
23b9cf22
...
...
@@ -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
,
(
DS
T
)
add
$
16
,
SRC
...
...
x86_64/aesni/aes-encrypt-internal.asm
View file @
23b9cf22
...
...
@@ -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
,
(
DS
T
)
add
$
16
,
SRC
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment