Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Nettle
nettle
Commits
03943985
Commit
03943985
authored
Oct 03, 2011
by
Niels Möller
Browse files
Use 16-byte alignment for "fully aligned" operands.
Rev: nettle/testsuite/memxor-test.c:1.4
parent
5a5d2abe
Changes
1
Hide whitespace changes
Inline
Side-by-side
testsuite/memxor-test.c
View file @
03943985
...
...
@@ -2,19 +2,20 @@
#include "memxor.h"
#define MAX_SIZE 256
#define ALIGN_SIZE 16
static
uint8_t
*
set_align
(
uint8_t
*
buf
,
unsigned
align
)
{
unsigned
offset
;
/* An extra redzon char at the beginning */
/* An extra redzon
e
char at the beginning */
buf
++
;
offset
=
(
uintptr_t
)
(
buf
)
%
sizeof
(
unsigned
long
)
;
offset
=
(
uintptr_t
)
(
buf
)
%
ALIGN_SIZE
;
if
(
offset
<
align
)
buf
+=
(
align
-
offset
);
else
if
(
offset
>
align
)
buf
+=
(
align
+
sizeof
(
unsigned
long
)
-
offset
);
buf
+=
(
align
+
ALIGN_SIZE
-
offset
);
return
buf
;
}
...
...
@@ -23,8 +24,8 @@ static void
test_memxor
(
const
uint8_t
*
a
,
const
uint8_t
*
b
,
const
uint8_t
*
c
,
size_t
size
,
unsigned
align_dst
,
unsigned
align_src
)
{
uint8_t
dst_buf
[
MAX_SIZE
+
sizeof
(
unsigned
long
)
+
1
];
uint8_t
src_buf
[
MAX_SIZE
+
sizeof
(
unsigned
long
)
+
1
];
uint8_t
dst_buf
[
MAX_SIZE
+
ALIGN_SIZE
+
1
];
uint8_t
src_buf
[
MAX_SIZE
+
ALIGN_SIZE
+
1
];
uint8_t
*
dst
=
set_align
(
dst_buf
,
align_dst
);
uint8_t
*
src
=
set_align
(
src_buf
,
align_src
);
...
...
@@ -49,9 +50,9 @@ static void
test_memxor3
(
const
uint8_t
*
ain
,
const
uint8_t
*
bin
,
const
uint8_t
*
c
,
size_t
size
,
unsigned
align_dst
,
unsigned
align_a
,
unsigned
align_b
)
{
uint8_t
dst_buf
[
MAX_SIZE
+
sizeof
(
unsigned
long
)
+
1
];
uint8_t
a_buf
[
MAX_SIZE
+
sizeof
(
unsigned
long
)
+
1
];
uint8_t
b_buf
[
MAX_SIZE
+
sizeof
(
unsigned
long
)
+
1
];
uint8_t
dst_buf
[
MAX_SIZE
+
ALIGN_SIZE
+
1
];
uint8_t
a_buf
[
MAX_SIZE
+
ALIGN_SIZE
+
1
];
uint8_t
b_buf
[
MAX_SIZE
+
ALIGN_SIZE
+
1
];
uint8_t
*
dst
=
set_align
(
dst_buf
,
align_dst
);
uint8_t
*
a
=
set_align
(
a_buf
,
align_a
);
...
...
@@ -133,14 +134,14 @@ test_main(void)
17
,
23
,
24
,
25
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
250
,
251
,
252
,
253
,
254
,
255
,
256
,
-
1
};
unsigned
i
,
align_dst
,
align_a
,
align_b
;
for
(
i
=
0
;
size
[
i
]
>=
0
;
i
++
)
for
(
align_dst
=
0
;
align_dst
<
sizeof
(
unsigned
long
)
;
align_dst
++
)
for
(
align_a
=
0
;
align_a
<
sizeof
(
unsigned
long
)
;
align_a
++
)
for
(
align_dst
=
0
;
align_dst
<
ALIGN_SIZE
;
align_dst
++
)
for
(
align_a
=
0
;
align_a
<
ALIGN_SIZE
;
align_a
++
)
{
test_memxor
(
a
,
b
,
c
,
size
[
i
],
align_dst
,
align_a
);
for
(
align_b
=
0
;
align_b
<
sizeof
(
unsigned
long
)
;
align_b
++
)
for
(
align_b
=
0
;
align_b
<
ALIGN_SIZE
;
align_b
++
)
test_memxor3
(
a
,
b
,
c
,
size
[
i
],
align_dst
,
align_a
,
align_b
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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