Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
N
nettle
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Container registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Wim Lewis
nettle
Commits
323e2451
Commit
323e2451
authored
23 years ago
by
Niels Möller
Browse files
Options
Downloads
Patches
Plain Diff
* sparc/aes.asm: Use that IDX2(j) == j ^ 2
Rev: src/nettle/sparc/aes.asm:1.42
parent
9c11807f
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
sparc/aes.asm
+40
-1
40 additions, 1 deletion
sparc/aes.asm
with
40 additions
and
1 deletion
sparc/aes.asm
+
40
−
1
View file @
323e2451
...
...
@@ -123,7 +123,10 @@ _aes_crypt:
ld
[
idx
-
32
],
t1
!
1
!
AES_SIDX2
ld
[
idx
-
16
],
t2
!
2
!
ld
[
idx
-
16
],
t2
!
2
!
IDX2
(
j
)
=
j
XOR
2
xor
i
,
8
,
t2
!
wtxt
[
IDX1...
]
add
wtxt
,
t1
,
t1
!
1
ldub
[
t1
+
2
],
t1
!
1
...
...
@@ -162,6 +165,9 @@ _aes_crypt:
add
idx
,
4
,
idx
!
Fetch
roundkey
!
FIXME:
We
could
save
one
instruction
!
if
we
kept
a
pointer
to
the
current
subkey
,
!
indexed
by
i.
ld
[
ctx
+
round
],
t1
add
round
,
4
,
round
...
...
@@ -290,3 +296,36 @@ _aes_crypt:
!
aes256
(
ECB
decrypt
):
14.81
s
,
0.675
MB
/
s
!
aes256
(
CBC
encrypt
):
22.65
s
,
0.442
MB
/
s
!
aes256
(
CBC
decrypt
):
16.46
s
,
0.608
MB
/
s
!
After
implementing
double
buffering
!
aes128
(
ECB
encrypt
):
12.59
s
,
0.794
MB
/
s
!
aes128
(
ECB
decrypt
):
10.56
s
,
0.947
MB
/
s
!
aes128
(
CBC
encrypt
):
17.91
s
,
0.558
MB
/
s
!
aes128
(
CBC
decrypt
):
12.30
s
,
0.813
MB
/
s
!
!
aes192
(
ECB
encrypt
):
15.03
s
,
0.665
MB
/
s
!
aes192
(
ECB
decrypt
):
12.56
s
,
0.796
MB
/
s
!
aes192
(
CBC
encrypt
):
20.30
s
,
0.493
MB
/
s
!
aes192
(
CBC
decrypt
):
14.26
s
,
0.701
MB
/
s
!
!
aes256
(
ECB
encrypt
):
17.30
s
,
0.578
MB
/
s
!
aes256
(
ECB
decrypt
):
14.51
s
,
0.689
MB
/
s
!
aes256
(
CBC
encrypt
):
22.75
s
,
0.440
MB
/
s
!
aes256
(
CBC
decrypt
):
16.35
s
,
0.612
MB
/
s
!
After
reordering
aes
-
encrypt.c
and
aes
-
decypt.c
!
(
the
order
probably
causes
strange
cache
-
effects
):
!
aes128
(
ECB
encrypt
):
9.21
s
,
1.086
MB
/
s
!
aes128
(
ECB
decrypt
):
11.13
s
,
0.898
MB
/
s
!
aes128
(
CBC
encrypt
):
14.12
s
,
0.708
MB
/
s
!
aes128
(
CBC
decrypt
):
13.77
s
,
0.726
MB
/
s
!
!
aes192
(
ECB
encrypt
):
10.86
s
,
0.921
MB
/
s
!
aes192
(
ECB
decrypt
):
13.17
s
,
0.759
MB
/
s
!
aes192
(
CBC
encrypt
):
15.74
s
,
0.635
MB
/
s
!
aes192
(
CBC
decrypt
):
15.91
s
,
0.629
MB
/
s
!
!
aes256
(
ECB
encrypt
):
12.71
s
,
0.787
MB
/
s
!
aes256
(
ECB
decrypt
):
15.38
s
,
0.650
MB
/
s
!
aes256
(
CBC
encrypt
):
17.49
s
,
0.572
MB
/
s
!
aes256
(
CBC
decrypt
):
17.87
s
,
0.560
MB
/
s
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
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!
Save comment
Cancel
Please
register
or
sign in
to comment